AnsweredAssumed Answered

Kinetis NMI after reset

Question asked by Martin Dusek on Aug 27, 2015
Latest reply on Aug 28, 2015 by Jorge_Gonzalez

Hi,

when NMI pin is asserted (low level) during reset, then from very first instruction ICSR->VECTACTIVE contains 0x002 which I assume means that NMI interrupt vector is currently active and executing and it holds the 0x002 value forever preventing any other ISR to be executed. Deasserting or cycling NMI pin has no effect on ICSR->VECTACTIVE.

 

NMI handler is never executed - observed by adding a breakpoint inside NMI handler routine which is never hit. My program runs always main task (of course as VECTACTIVE == 0x002 prevents any other interrupt to beexecuted), so I don't understand how it is possible that ICSR->VECTACTIVE contains non zero value.

 

When NMI pin is deasserted during reset, than the program executes as expected. All interrupts works, falling edge on NMI pin triggers NMI handler to be exectued (if NMI pin is configured for NMI function)...

 

I tried this on on KL25 and KL02 MCUs.

 

Can someone explain this behaviour?

Outcomes