пишу к примеру такой код:
__eeprom int a;
int func()
{
a = 10;
}
линкер выдает ошибку:
Error[e133]: The output format motorola cannot handle multiple address spaces.
Use format variants (-y -O) to specify which address space is wanted
помогите. как лечить?
Artem_Petrik
Jun 29 2008, 09:19
Переменная при обьявлении считается по умолчанию инициализируемой нулем. Компилятор пытается этот ноль запихнуть в прошивку, а имеюшийся формат (моторола) не позволяет определять в нем несколько адресных пространств, т.е. в него некуда писать данные для EEPROM (только flash)
Если в объявлении поставить __no_init ошибка уйдет.
Благодарю за помощ. все заработало.
Тема закрыта
Сергей Борщ
Jun 29 2008, 17:39
Цитата(Serej @ Jun 29 2008, 13:46)

Тема закрыта
Чтобы снова ее не открывать, когда вам потребуется сразу после прошивки иметь в eeprom какие-то осмысленные значения - вот еще ссылки в коллекцию:
раз и
два