ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
104785 Топик полностью
MegaJohn (12.11.2007 18:39, просмотров: 208) ответил hp на Всем привет. Проблема с компилятором IAR AVR 4.10. Не хочет создавать прошивку для контроллера в формате intel-extended. Пишет:
где нибудь юзается __eeprom ? Если да то [+] Q: При линковке проекта в котором объявлены переменные __eeprom возникает ошибка Error[e133]: The output format intel-standard cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is wanted A1: __no_init __eeprom A2: project->options->linker 1) поставить галочку на debug information for C-SPY 2) Если на вкладке Extra Output стоит галочка generate extra output - ее убрать. 2) на вкладке Extra Options поставить галочку use command line options, в окно вписать: -Ointel-extended,(CODE)=.hex -Ointel-extended,(XDATA)=.ee.hex После линковки в директории $PROJ_DIR$\Debug\EXE получаем файлы $PROJ_NAME$.d90 - файл для симулятора C-SPY $PROJ_NAME$.hex - прошивка флеш $PROJ_NAME$.ee.hex - прошивка eeprom A3: (from: http://caxapa.ru/81205.html) А я делаю в релизе выходной формат - "симпле", а потом постлинк. Дешево, надежно и практично Вот мой собственный батник постлинка. А вообще все в ИАРовском хелпе расписано @echo off rem --------------------------------------------- rem Use with arguments (%1 %2 %3): rem $TOOLKIT_DIR$\bin $TARGET_PATH$ $TARGET_DIR$ rem --------------------------------------------- %1\postlink.exe -intel-extended -code %2 %3\flash.hex > nul if errorlevel 1 goto ERROR %1\postlink.exe -intel-extended -xdata %2 %3\eeprom.hex > nul if errorlevel 1 goto ERROR echo Postlink.bat execution was successful. echo Result is stored as "flash.hex" and "eeprom.hex" goto END :ERROR echo *** ERROR in postlink.bat script echo *** No output files produced. :END A3-1: Выходной формат нужно установить Simple с расширением "raw" затем утилитой postlink , которая есть в комплекте компилятора, разделить память программ и еепром: postlink.exe -intel-extended -code test.raw > test.hex postlink.exe -intel-extended -xdata test.raw > test.epp И верхние 4-е строки в test.hex и test.eep нужно удалить.