Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR ARM 5.20
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Rusoil
Проблема в следующем. Пишу вторичный загрузчик для 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 };
sergik_vrn
Цитата(Rusoil @ Jan 21 2009, 11:32) *
Проблема в следующем. Пишу вторичный загрузчик для LPC23xx. Мне нужно жестко расположить программу по определенному адресу - чтобы туда прыгать из загрузчика. В настройках линкера есть такая фишка как

прыгайте по адресу начала программы, это будет эквивалентно переходу на адрес обработчика reset. остальное сделает библиотека.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.