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

 
 
> И еще вопрос по XLINC
Sergio66
сообщение Nov 20 2012, 14:11
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



И еще один непонятный момент...
Есть файл настроек линкера (для ATMega32) C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\avr\src\template\cfgm32.xcl. Он указан в опциях проекта для линкера. Но подгружается еще один файл - C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0\avr\src\template\cfg3soim.xcl.
Я не смог найти место, где он указан линкеру...
Содержимое этого файла таково:
Код
//////////////////////////////////////////////////////////////////////////////
//
// Configuration for a generic -v3 -ms target.
//
// File version: $Revision: 9254 $
//
// The '_..X_' prefix is used by C-SPY as an indication that the label should
// not be displayed in the dissassembly window.
//

// Set up XLINK
-ca90
-w29

//////////////////////////////////////////////////////////////////////////////
// Code (flash) segments
-Z(CODE)INTVEC=0-(_..X_INTVEC_SIZE-1)
-Z(CODE)TINY_F=_..X_FLASH_BASE-FF
-Z(CODE)NEAR_F=_..X_FLASH_BASE-_..X_FLASH_NEND
-Z(CODE)SWITCH=_..X_FLASH_BASE-_..X_FLASH_NEND
-Z(CODE)DIFUNCT=_..X_FLASH_BASE-_..X_FLASH_NEND
-Z(CODE)CODE=_..X_FLASH_BASE-_..X_FLASH_END
-P(CODE)FAR_F=[_..X_FLASH_BASE-_..X_FLASH_END]/10000
-Z(CODE)INITTAB=_..X_FLASH_BASE-_..X_FLASH_END
-Z(CODE)HUGE_F=_..X_FLASH_BASE-_..X_FLASH_END
-Z(CODE)TINY_ID=_..X_FLASH_BASE-_..X_FLASH_END
-Z(CODE)NEAR_ID=_..X_FLASH_BASE-_..X_FLASH_END
-Z(CODE)CHECKSUM=(_..X_FLASH_END-1)-_..X_FLASH_END

//////////////////////////////////////////////////////////////////////////////
// Data (SRAM, external ROM or external NV RAM) memory
-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE
-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_CSTACK_BASE-_..X_CSTACK_END
-Z(DATA)HEAP+_..X_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END
-Z(DATA)IOSTREAM_N#_..X_SRAM_BASE-_..X_SRAM_END
-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_END
-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_RSTACK_BASE-_..X_RSTACK_END
-Z(DATA)NEAR_I,NEAR_Z,NEAR_N=_..X_SRAM_BASE-_..X_SRAM_END

//////////////////////////////////////////////////////////////////////////////
// Internal EEPROM

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


Когда отрабатывает линкер, в мар файле появляется следующее:
Код
"C:\Program Files (x86)\IAR Systems\Embedded Work #
#                            bench 6.0\avr\src\template\cfg3soim.xcl"          #
#                            (-ca90 -w29                                       #
#                            -Z(CODE)INTVEC=0-(_..X_INTVEC_SIZE-1)             #
#                            -Z(CODE)TINY_F=_..X_FLASH_BASE-FF                 #
#                            -Z(CODE)NEAR_F=_..X_FLASH_BASE-_..X_FLASH_NEND    #
#                            -Z(CODE)SWITCH=_..X_FLASH_BASE-_..X_FLASH_NEND    #
#                            -Z(CODE)DIFUNCT=_..X_FLASH_BASE-_..X_FLASH_NEND   #
#                            -Z(CODE)CODE=_..X_FLASH_BASE-_..X_FLASH_END       #
#                            -P(CODE)FAR_F=[_..X_FLASH_BASE-_..X_FLASH_END]/10 #
#                            000                                               #
#                            -Z(CODE)INITTAB=_..X_FLASH_BASE-_..X_FLASH_END    #
#                            -Z(CODE)HUGE_F=_..X_FLASH_BASE-_..X_FLASH_END     #
#                            -Z(CODE)TINY_ID=_..X_FLASH_BASE-_..X_FLASH_END    #
#                            -Z(CODE)NEAR_ID=_..X_FLASH_BASE-_..X_FLASH_END    #
#                            -Z(CODE)CHECKSUM=(_..X_FLASH_END-1)-_..X_FLASH_EN #
#                            D                                                 #
#                            -Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_TBASE:+_.. #
#                            X_SRAM_TSIZE                                      #
#                            -Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_CSTACK_BASE- #
#                            _..X_CSTACK_END                                   #
#                            -Z(DATA)HEAP+_..X_HEAP_SIZE=_..X_SRAM_BASE-_..X_S #
#                            RAM_END                                           #
#                            -Z(DATA)IOSTREAM_N#_..X_SRAM_BASE-_..X_SRAM_END   #
#                            -Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_B #
#                            ASE-_..X_SRAM_END                                 #
#                            -Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_RSTACK_BASE- #
#                            _..X_RSTACK_END                                   #
#                            -Z(DATA)NEAR_I,NEAR_Z,NEAR_N=_..X_SRAM_BASE-_..X_ #
#                            SRAM_END                                          #
#                            -Z(XDATA)EEPROM_I,EEPROM_N=_..X_EEPROM_START-_..X #
#                            _EEPROM_END)                                      #
#                            -D_..X_FLASH_BASE=_..X_INTVEC_SIZE -H1895         #
#                            -h(CODE)0-(_..X_INTVEC_SIZE-1)                    #
#                            -D_..X_CSTACK_BASE=_..X_SRAM_BASE                 #
#                            -D_..X_CSTACK_END=_..X_SRAM_END                   #
#                            -D_..X_RSTACK_BASE=_..X_SRAM_BASE                 #
#                            -D_..X_RSTACK_END=_..X_SRAM_END -s                #
#                            __program_start                                   #
#                            "C:\Program Files (x86)\IAR Systems\Embedded Work #
#                            bench 6.0\avr\LIB\CLIB\cl3s-ec_mul-sf.r90"        #
#                            -e_large_write=_formatted_write                   #
#                            -e_large_read=_formatted_read                     #

меня смущает строка
-D_..X_FLASH_BASE=_..X_INTVEC_SIZE -H1895

Дело в том, что мне нужно заполнить неиспользуемую область 0xFF, а наличие вышеуакзанной строчки вызывает грязную ругань со стороны линкера.
И выходной файл не заполняется ничем...

Подскажите, где рыть? Что нужно поправить в настройках...
Спасибо...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 19:15
Рейтинг@Mail.ru


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