ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
198314 Топик полностью
rezident (18.06.2010 04:26, просмотров: 354) ответил John на Возник такой вопрос: как в IAR для MSP если пишешь на С обозначить переменную во flash данных - нужно сохранять значения вне зависимости от питания. Или все надо самому прописывать - разрешение на запись - MOV по адресу?
Во Flash можно разместить только константу, а не переменную потому, что Flash это ПЗУ, а не ОЗУ. Если константа объявлена в программе до компиляции, то компилятор сам ее разместит в указанном сегменте. Если же в программе требуется изменить значение константы во Flash, то нужно задействовать весь механизм внутрипрограммного самопрограммирования, который в MSP430 реализован весьма изящно. Только хочу заранее предупредить о некоторых "граблях" оптимизации IAR. Последние версии компилятора очень любят оптимизировать обращение к константам с абсолютным адресом, располагая их значение непосредственно в месте использования. И для того, чтобы надавать компилятору "по рукам" приходится несколько извращаться.