При прошивке через отладчик надо в программе первым делом сместить таблицу векторов. При прошивке и запуске через бутлоадер он это делает за меня. И еще в .s файл инициализаии пришлось прописать чудодейственные строки
PUBWEAK Reset_Handler
SECTION .text:CODE:REORDER:NOROOT(2)
Reset_Handler
; Initialize the stack pointer
LDR R3, =sfe(CSTACK) ;Эту
MOV SP, R3 ;И эту
LDR R0, =SystemInit
BLX R0
LDR R0, =__iar_program_start
BX R0