Проблема в следующем. Пишу вторичный загрузчик для LPC23xx. Мне нужно жестко расположить программу по определенному адресу - чтобы туда прыгать из загрузчика. В настройках линкера есть такая фишка как entry symbol - __iar_program_start. Как определить эту entry метку и присвоить ей свой адрес?
Может как-то по другому можно? Если вообще отключить библиотеку то эта метка не инициализируется и вываливает ошибку...
Вопрос снят. Два дня мучился и стоило написать ответ нашел.
Подправил startup.s:
было -
SECTION .TEXT:CODE:NOROOT(2)
EXTERN ?main
REQUIRE __vector
EXTERN low_level_init
ARM
__iar_program_start:
?cstartup:
I_Bit DEFINE 0x80 ; when I bit is set, IRQ is disabled
F_Bit DEFINE 0x40 ; when F bit is set, FIQ is disabled
.....
стало -
SECTION .CSTARTUP:CODE:NOROOT(2)
EXTERN ?main
REQUIRE __vector
EXTERN low_level_init
ARM
__iar_program_start:
I_Bit DEFINE 0x80 ; when I bit is set, IRQ is disabled
F_Bit DEFINE 0x40 ; when F bit is set, FIQ is disabled
.....
И в линкере прописал сегмент:
/* Place startup code at a fixed address */
place at address mem:0x200 { readonly section .CSTARTUP };