Exceptions
5-24
Copyright © 2005-2008 ARM Limited. All rights reserved.
ARM DDI 0337G
Non-Confidential
Unrestricted Access
5.10
Exception control transfer
The processor transfers control to an ISR following the rules shown in Table 5-9.
Table 5-9 Transferring to exception processing
Processor activity at
assertion of
exception
Transfer to exception processing
Non-memory instruction
Takes exception on completion of cycle, before the next instruction.
Load/store single
Completes or abandons depending on bus status. Takes exception on the next cycle, depending
on the bus wait states.
Load/store multiple
Completes or abandons current register and sets continuation counter into EPSR. Takes
exception on the next cycle, depending on bus permission and
Interruptible-Continuable
Instruction
(ICI) rules. For more information on ICI rules, see the
ARMv7-M Architecture
Reference Manual
.
Exception entry
This is a late-arriving exception. If it has higher priority than the exception being entered, then
the processor cancels the exception entry actions and takes the late-arriving exception. Late
arriving results in a decision change (vector table) at interrupt processing time. When you
enter a new handler, that is the first ISR instruction, normal pre-emption rules apply, and it is
no longer classed as a late-arrival.
Tail-chaining
This is a late-arriving exception. If it has higher priority than the one being tail-chained, the
processor cancels the preamble and takes the late-arriving exception.
Exception postamble
If the new exception has higher priority than the stacked exception to which the processor is
returning, the processor tail-chains the new exception.