ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
96617
vak255 (08.08.2007 16:38, просмотров: 9170)
[IAR MSP430] переменные в сегменте INFO и оптимизация в компиляторе Может быть кто-нибудь сталкивался и поможет победить следующую проблему: храню настройки прибора (которые могут изменяться) в сегменте INFO, микроконтроллер msp430f169, переменные инициализирую значениями по умолчанию: #pragma memory = constseg(INFO) const int eNOM = 466; const int eKOD = 0; const char eState = 0; const char eRS232 = 1; итд... если включить в компиляторе оптимизацию (любого уровня), то компилятор считает что раз эти переменные CONST, то и в коде заменяет обращение к этим переменным на их значения, указанные при инициализации. Как компилятор научить тому, что в сегменте INFO данные могут меняться??? PS: оптимизацию отключить не предлагайте - программа уже сожрала практически все доступную память и к тому же почему-то как только размер занимаемой переменными памяти в RAM переваливает за адрес 0x830 - выполнение sprintf("%f", .... ) приводит к порче содержимого RAM, чего при оптимизации не происходит...