west329 0 15 января, 2009 Опубликовано 15 января, 2009 · Жалоба Подскажите как быть. Решил вместо своих модулей которые работают с еепром памятью контроллера м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 еепром но нехватает ключа, подскажите где ввести этото ключ ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ur4lvn 0 15 января, 2009 Опубликовано 15 января, 2009 · Жалоба Подскажите как быть. Решил вместо своих модулей которые работают с еепром памятью контроллера м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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 15 января, 2009 Опубликовано 15 января, 2009 · Жалоба Подскажите как быть. Решил вместо своих модулей которые работают с еепром памятью контроллера м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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 15 января, 2009 Опубликовано 15 января, 2009 (изменено) · Жалоба немного разобрался пришол к такому решению -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. Изменено 15 января, 2009 пользователем west329_ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться