Есть такой стартап код который в иаре работает нормально,
Vectors LDR PC, Reset_Addr
LDR PC, Undef_Addr
LDR PC, SWI_Addr
LDR PC, PAbt_Addr
LDR PC, DAbt_Addr
NOP ; Reserved Vector
LDR PC, [PC, #-0x0120] ; Vector from VicVectAddr
LDR PC, FIQ_Addr
Reset_Addr DCD Reset_Handler
Undef_Addr DCD Undef_Handler
SWI_Addr DCD vPortYieldProcessor
PAbt_Addr DCD PAbt_Handler
DAbt_Addr DCD DAbt_Handler
при переносе этого кода в keil(компилер real view) из строки
LDR PC, [PC, #-0x0120]
попадаю на 0-й адрес. Если эту строку заменить на
LDR PC, IRQ_Addr
....................
IRQ_Addr DCD vPreemptiveTick
где vPreemptiveTick обработчик прерываний таймера то все работает нормально(разрешены прерываания только от таймера). В чем ошибка?