| |||
| Home > Programmer’s Model > Exceptions > Exception priorities | |||
When multiple exceptions arise at the same time, a fixed priority system determines the order in which they are handled:
Reset (highest priority)
Data Abort
FIQ
IRQ
Prefetch Abort
Undefined instruction
SWI (lowest priority).
Some exceptions cannot occur together:
The Undefined Instruction and SWI exceptions are mutually exclusive. Each corresponds to a particular (non-overlapping) decoding of the current instruction.
When FIQs are enabled and a Data Abort occurs at the same time as an FIQ, the ARM7TDMI-S enters the Data Abort handler and proceeds immediately to the FIQ vector.
A normal return from the FIQ causes the Data Abort handler to resume execution.
Data Aborts must have higher priority than FIQs to ensure that the transfer error does not escape detection. You must add the time for this exception entry to the worst-case FIQ latency calculations in a system that uses aborts.