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

 
 
 
Reply to this topicStart new topic
> linker IAR 6.12 выдаёт ошибку, linker IAR 6.12 выдаёт ошибку
laryc
сообщение Feb 12 2017, 11:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 1-01-10
Из: комсомольск на амуре
Пользователь №: 54 586



Добрыйй ,День! Помогите решить проблему. Есть необходимость поработать с ЕЕПРОМом
Как я понимаю нужно открыть файл с расширением .еер
Нашёл рекомендации (с картинками) на :http://chipenable.ru/index.php/programming-avr/item/158-avr-rabota-s-eeprom-na-si.html
У меня IAR 6/12/1 начал выдавать следующую ошибку:
Fatal Error[e163]: The command line symbol ".hex" in -D-Ointel-standard.(CODE)=.hex
is not defined.
Error while running Linker
Не могу понять... наверно нужно прицепить в заголовок типа //#include <avr/eeprom.h>.......но типа eeprom.h файлов поисковик не находит


--------------------
никогда не бывает так плохо чтобы небыло ещё хуже
Go to the top of the page
 
+Quote Post
aiwa
сообщение Feb 15 2017, 02:17
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(laryc @ Feb 12 2017, 13:21) *
Fatal Error[e163]: The command line symbol ".hex" in -D-Ointel-standard.(CODE)=.hex
is not defined.
Error while running Linker

Вы внесли "-Ointel-standard.(CODE)=.hex" не в той вкладке:
нужно в "Linker->Extra Options", а Вы внесли в "Linker->#define"

Go to the top of the page
 
+Quote Post
laryc
сообщение Feb 15 2017, 15:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 1-01-10
Из: комсомольск на амуре
Пользователь №: 54 586



Цитата(aiwa @ Feb 15 2017, 06:17) *
Вы внесли "-Ointel-standard.(CODE)=.hex" не в той вкладке:
нужно в "Linker->Extra Options", а Вы внесли в "Linker->#define"



спасибо помогло файл с расширением .еер появился- дальше опять не понятные тормоза непонятного свойства
__eeprom unsigned int nabcorr; - объявил переменную
Код
void  EEPROM_WriteByte(__eeprom unsigned int *nabcorr, unsigned int value)
{
ucha save;
while (EECR & (1<<EEPE));                                     //?????
EEAR =(unsigned int) nabcorr;
EEDR =value;
save = SREG;
SREG &= ~(1 <<7);
EECR |= (1<<EEMPE);
EECR |= (1<<EEPE);
SREG = save;
}

окомпилировал (регистр ATmega324) - ошибок не выдает
попытка что нибудь записать в ЕЕПРОМ

EEPROM_WriteByte(__eeprom &nabcorr, 5) ;

получаем
Error[Pe029]: expected an expression C:\pistol\main.c 127
Error while running C/C++ Compiler

Сообщение отредактировал IgorKossak - Feb 15 2017, 19:18
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!


--------------------
никогда не бывает так плохо чтобы небыло ещё хуже
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 15 2017, 16:59
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(laryc @ Feb 15 2017, 18:59) *
EEPROM_WriteByte(__eeprom &nabcorr, 5) ;

А зачем здесь __eeprom?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 15 2017, 20:27
Сообщение #5


Гуру
******

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



QUOTE (aaarrr @ Feb 15 2017, 18:59) *
А зачем здесь __eeprom?

И зачем здесь EEPROM_WriteByte()?
Насколько я помню IAR, достаточно написать nabcorr = 5;


--------------------
На любой вопрос даю любой ответ
"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 Текстовая версия Сейчас: 7th July 2025 - 10:14
Рейтинг@Mail.ru


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