Перейти к содержанию
    

Включение в HEX файл адрессов EEPROM

Подскажите как быть. Решил вместо своих модулей которые работают с еепром памятью контроллера м88, использовать возможности ИАР и неизобретать велосипед. С одной стороны очень удобно, объявляеш как обычную строку только дописываеш __eeprom, и иар сам подставляет все нужные команды.

unsigned char __eeprom mymac[6] = {0xAA,0xBB,0xCC,0xDD,0xEE,0xFF};

 

при этом компилятор нестал возражать и при сборке добавил строчку XDATA

 
6 522 bytes of CODE   memory  (+ 50 range fill ) 
   802 bytes of  DATA   memory (+ 12 absolute ) 
     22 bytes of XDATA  memory

 

когда пришло время проверить проект в железе, иар отказался собирать HEX файл.

IAR Universal Linker V4.61C/386

Copyright 1987-2008 IAR Systems. All rights reserved.

Error[e133]: The output format intel-standard cannot handle multiple address spaces. Use

format variants (-y -O) to specify which address space is wanted

Error while running Linker

 

Total number of errors: 1

Total number of warnings: 0

 

Ещё с таким несталкивался, как я понял он может сохранять в HEX еепром но нехватает ключа, подскажите где ввести этото ключ ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите как быть. Решил вместо своих модулей которые работают с еепром памятью контроллера м88, использовать возможности ИАР и неизобретать велосипед. С одной стороны очень удобно, объявляеш как обычную строку только дописываеш __eeprom, и иар сам подставляет все нужные команды.

unsigned char __eeprom mymac[6] = {0xAA,0xBB,0xCC,0xDD,0xEE,0xFF};

 

при этом компилятор нестал возражать и при сборке добавил строчку XDATA

 
6 522 bytes of CODE   memory  (+ 50 range fill ) 
   802 bytes of  DATA   memory (+ 12 absolute ) 
     22 bytes of XDATA  memory

 

когда пришло время проверить проект в железе, иар отказался собирать HEX файл.

 

 

Ещё с таким несталкивался, как я понял он может сохранять в HEX еепром но нехватает ключа, подскажите где ввести этото ключ ?

 

Project->Options->Linker->Output, установить Format->Other и выбрать Output format - simple. Потом на этот *.raw файл напустить утилиту postlink. Как все это делать описано в документе postlink.htm , который лежит в папке \doc

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите как быть. Решил вместо своих модулей которые работают с еепром памятью контроллера м88, использовать возможности ИАР и неизобретать велосипед. С одной стороны очень удобно, объявляеш как обычную строку только дописываеш __eeprom, и иар сам подставляет все нужные команды.

unsigned char __eeprom mymac[6] = {0xAA,0xBB,0xCC,0xDD,0xEE,0xFF};

 

при этом компилятор нестал возражать и при сборке добавил строчку XDATA

 
6 522 bytes of CODE   memory  (+ 50 range fill ) 
   802 bytes of  DATA   memory (+ 12 absolute ) 
     22 bytes of XDATA  memory

 

когда пришло время проверить проект в железе, иар отказался собирать HEX файл.

 

 

Ещё с таким несталкивался, как я понял он может сохранять в HEX еепром но нехватает ключа, подскажите где ввести этото ключ ?

Выбирите выходной формат intel-extended и добавьте в настройках линкера в звкладке extra options

командную строчку для формимрования прошивки ЕЕПРОМ

-Ointel-extended,(XDATA)=$EXE_DIR$\$PROJ_FNAME$_data.hex

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

немного разобрался

 

пришол к такому решению

 

-Ointel-standard,(CODE)=.hex

-Ointel-standard,(XDATA)=.eep

 

ещё такой вопрос, а кроме postlink можно заставить иар собирать CODE и XDATA в один интел hex или это единственное решение ?

 

 

 

 

Благодарю всех за помощ. Щитаю тему закрытой.

 

Есть решение

 

правим cfg1soim.xcl файл

 

 

//-Z(XDATA)EEPROM_I,EEPROM_N=0-_..X_EEPROM_END

-Z(CODE)EEPROM_I,EEPROM_N=(_..X_FLASH_END+1)-(_..X_FLASH_END+_..X_EEPROM_END+1)

 

результат один интел хекс файл который содержит как CODE так и XDATA.

Изменено пользователем west329_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...