где нибудь юзается __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 нужно удалить.