|ARM Technical Support Knowledge Articles|
Please see the section named "Wait for Interrupt" from the ARMv6-M or ARMv7-M Architecture Reference Manual.
When interrupts are disabled by use of PRIMASK (
CPSID i), the processor will wake up from WFI when it receives an interrupt whose priority is sufficient that it would pre-empt the current execution context if PRIMASK were not set.
The priority level of the NMI interrupt is always sufficient to wake up the processor and to be handled immediately.
A Debug Halt from a debugger or Reset will also cause the processor to wake up.
Did you find this article helpful? Yes No
How can we improve this article?