Цитата(demiurg_spb @ May 17 2012, 20:51)

+1
Этого должно хватать для того чтобы данные разместились во флеше, при условии что они глобальные (вне функции обявлены).
К сожелению и это не правильно.
Вот цитата из документации ("EWARM Development Guide" с.288):
"If you declare a
volatile object
const, it will be write-protected but it will still be stored in RAM memory as the C standard specifies.
To store the object in read-only memory instead, but still make it possible to access it as a const volatile object, define the variable like this:
const volatile int x @ "FLASH";
"
Да, так работает.
Но мне нужен инициализированный массив (типа Cmd [] = {3,2,1} ).
А это уже не компилируется
Кстати, и без volatile - тоже массив будет в RAM!
А точнее, в RAM и еще код для его создания в ROM (т.к.начальный код для создания структуры массива в RAM все равно работает из FLASH). Т.е. не рационально и избыточно.
Возможность разместить неизменяемые большие массивы в ROM-FLASH (которого существенно больше чем RAM) очень полезна.