Zelepuk
Aug 26 2011, 10:33
как выглядит инициализация массива во внутенней флешь под IAR?
__flash short x[3] = {1,2,3}; // прокатит?
MrYuran
Aug 26 2011, 11:04
Точно не помню уже, возможно прокатит просто static const.
Ещё есть разные #pragma - почитайте IAR Compiler Reference
KARLSON
Aug 26 2011, 11:25
Вот так работает:
#pragma location = 0x1000 // у 2132
const short x[3] = {1,2,3};
Учтите, что в MSP430 во флешке храниться ещё и настроечные коэффициенты, располагаются в конце.
shreck
Aug 26 2011, 13:12
const short x[3] = {1,2,3}; // будет достаточно
KARLSON
Aug 26 2011, 15:23
Точно. Это я с информационной памятью попутал.
Nathan Stark
Dec 19 2011, 18:10
Пишу
#pragma location = 0x1000 // у 2132
const short x[3] = {1,2,3};
И нигде в памяти не могу найти эти данные. В чем может быть проблема?
Какие вообще стандартные варианты записи и чтения блоков памяти в IAR на Си?
rezident
Dec 19 2011, 19:37
Цитата(Nathan Stark @ Dec 19 2011, 23:10)

И нигде в памяти не могу найти эти данные. В чем может быть проблема?
Какие вообще стандартные варианты записи и чтения блоков памяти в IAR на Си?
Это так оптимизация в компиляторе срабатывает. Он подставляет значения констант по месту их использования, а сам массивчик выкидывает за ненадобностью. Вот
там я описывал один из обходных путей самоуправства компилятора.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.