Столкнулся с такой проблемой.
Не могу в этом IAR експортировать функции (в данном случае __start_firmware()) из startup.s
Прописал:
Код
SECTION .intvec:CODE:NOROOT(2)
PUBLIC __vector
PUBLIC __iar_program_start
PUBLIC __vector_0x14
PUBLIC __start_firmware
Тело функции:
Код
__start_firmware:
ldr r0,=0x0
ldr r1,=0x0
ldr r2,=0x0
ldr r3,=0x0
ldr r4,=0x0
ldr r5,=0x0
ldr r6,=0x0
ldr r7,=0x0
ldr r8,=0x0
ldr r9,=0x0
ldr r10,=0x0
ldr r11,=0x0
ldr r12,=0x0
ldr r13,=0x0
ldr r14,=0x0
ldr pc, =(0x0008000)
пытался вызвать:
Код
extern void __start_firmware();
main()
{
TargetInit();
__start_firmware();
}
При компиляции выдается ошибка, что __start_firmware неопределена. В мануале написано, что для экспорта достаточно прописать PUBLIC __start_firmware. Может чего упустил?
Умные речи подобны строкам, напечатанным курсивом. К. Прутков