This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Detecting a pending interrupt before cpsie i instruction

Don't know, whether the question is put right, anyway, I'm debugging an assembler program.

The effect is, that as soon as I enable interrupts using the "cpsie i" instruction, an exception (code=5, buserror) occurs.

The PC (TOS) has some weird value (00000007). I can only imaging that some timer or some other asynchronous event is causing this.

I also intercepted the sysTick-Handler by a breakpoint but this isn't being hit. (I'm using STM32CubeIDE 1.9.0 to debug the code).

Is it possible to look ahead just in the moment before I'm about to enable interrupts to detect which interrupt source is pending?

Forgot to mention that disabling IWDG Interrupts (suspend watchdog counters during debugging) didn't help.

Parents
  • You should be able to read the NVIC_ISPRn registers to see which external interrupts are pending.

    Core interrupts (SysTick included) are elsewhere, in SCB->SHCSR

    I'm debugging an assembler program.

    Did you remember to set up your vectors with bit 0 set (to select THUMB mode for the ISR?

Reply
  • You should be able to read the NVIC_ISPRn registers to see which external interrupts are pending.

    Core interrupts (SysTick included) are elsewhere, in SCB->SHCSR

    I'm debugging an assembler program.

    Did you remember to set up your vectors with bit 0 set (to select THUMB mode for the ISR?

Children