ARM Technical Support Knowledge Articles

Describe late-arriving interrupt behaviour

Applies to: Cortex-M3

Answer

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.

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential