реклама на сайте
подробности

 
 
> Оптимизация данных в eeprom, Как сделать чтобы IAR не оптимизировал
mempfis_
сообщение Jan 20 2009, 12:46
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Добрый день.
Стоит задача сохранить в eeprom несколько байт данных. Сохраняю по 3 набора данных и пытаюсь отделить их друг от друга разделительной областью:

Код
__eeprom unsigned char var1;
__eeprom unsigned char area1[32];

__eeprom unsigned char var2;
__eeprom unsigned char area2[32];

__eeprom unsigned char var3;
__eeprom unsigned char area3[32];


Компилятор упорно оптимизирует эти разделительные области т.к. я к ним не обращаюсь.
Приходится вводить фиктивное обращение к ним чтобы обмануть компилятор.
Подскажите пожалуйста как явно указать компилятору чтобы он не оптимизировал эти области.
Пробовал использовать __require(area1) выдаёт следующие ошибки:

Код
Error[Pe147]: declaration is incompatible with "void __require(void *)" (declared at line 57 of "C:\Program Files\IAR Systems\IAR AVR\ D:\projects\Kotel\IAR\eeprom.h 36
Error[Pe144]: a value of type "unsigned char __eeprom *" cannot be used to initialize an entity of type "int" D:\projects\Kotel\IAR\eeprom.h 36


Подскажите как в IARe решается эта проблема.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st July 2025 - 09:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016