IRQ на frdm-k64f приводит к сбою - PullRequest
0 голосов
/ 06 декабря 2018

Я реализую таймер в сборке для FRDM-k64f (cortex-m4).Кажется, все работает нормально.Однако, когда таймер отсчитывается до нуля, и предполагается, что IRQ сработал, происходит сбой.

Program received signal SIGSEGV, Segmentation fault.`
HardFault_Handler () at src/timer.s:44
(gdb) x $sp + 24
0x2002ffd8:     0x000004f2

Во время аппаратного сбоя ПК был указан 0x4f2

b+ │0x4f2 <PIT0_IRQHandler>         push   {lr}                                           
   │0x4f4 <PIT0_IRQHandler+2>       ldr    r0, [pc, #40]

. Это местоположение обработчика IRQ, для которого я установил точку останова.Эта точка останова никогда не достигается.Я понятия не имею, что может вызвать сбой при попытке mcu прыгнуть 0x4f2.(Обратите внимание, что я также получаю hardfault без точки останова, или когда я заменяю первую инструкцию обработчика инструкцией 'nop'.

...