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

 
 
> __eeprom и IAR 4.11, ошибка линкера
Serej
сообщение Jun 29 2008, 07:42
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 14-01-08
Пользователь №: 34 082



пишу к примеру такой код:

__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

помогите. как лечить?

Сообщение отредактировал Serej - Jun 29 2008, 07:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Artem_Petrik
сообщение Jun 29 2008, 09:19
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Переменная при обьявлении считается по умолчанию инициализируемой нулем. Компилятор пытается этот ноль запихнуть в прошивку, а имеюшийся формат (моторола) не позволяет определять в нем несколько адресных пространств, т.е. в него некуда писать данные для EEPROM (только flash)
Если в объявлении поставить __no_init ошибка уйдет.
Go to the top of the page
 
+Quote Post
Serej
сообщение Jun 29 2008, 10:46
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 14-01-08
Пользователь №: 34 082



Благодарю за помощ. все заработало.
Тема закрыта
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 29 2008, 17:39
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Serej @ Jun 29 2008, 13:46) *
Тема закрыта
Чтобы снова ее не открывать, когда вам потребуется сразу после прошивки иметь в eeprom какие-то осмысленные значения - вот еще ссылки в коллекцию: раз и два


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 13:57
Рейтинг@Mail.ru


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