|ARM Technical Support Knowledge Articles|
Applies to: Cortex-M3
A late-arriving interrupt is an interrupt which is recognized after the processor has started its exception entry procedure.
If the late-arriving interrupt has higher pre-empting priority than the exception which the processor has already started to handle, then the existing stack push will continue but the vector fetch will be re-started using the vector for the late-arriving interrupt. This guarantees that the interrupt with the highest pre-empting priority will be serviced first, but in some circumstances this results in some wasted cycles from the original vector fetch which was abandoned.
If the late-arriving interrupt has only equal priority to (or lower priority than) the exception which the processor has already started to handle, then the late-arriving interrupt will remain pending until after the exception handler for teh current exception has run. This is because the late-arriving behaviour is classed as a pre-empting behaviour, and is therefore dependent only upon the pre-empting priority levels of the interrupts and exceptions.
Did you find this article helpful? Yes No
How can we improve this article?