| |||
| Home > Programmer’s Model > Exceptions > Exception priorities | |||
When multiple exceptions are present, a fixed priority system determines the order in which they are handled. Table 2.5 lists the exception priorities.
Table 2.5. Exception priorities
| Priority | Exception |
|---|---|
| Highest | Reset |
| Data Abort | |
| FIQ | |
| IRQ | |
| Prefetch Abort | |
| Lowest | Undefined instruction and SWI |
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 processor 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 to support virtual memory.