W o r k i n g w i t h A R M e x c e p t i o n s

Summary of ARM exceptions

The ARM processor can be interrupted by any of seven basic exceptions:

Reset exception. After a reset condition, the ARM7TDMI saves the current values of the PC (program counter) and CPSR (Current Processor Status register).

Undefined exception. The ARM7TDMI takes the undefined instruction trap when it finds an instruction it cannot handle.

SWI instruction. The ARM7TDMI uses the software interrupt instruction (SWI) to enter supervisor mode, usually to request a specific supervisor instruction.

Abort exception. An abort exception indicates that the current memory access cannot be completed. There are two types of abort exception:

Prefetch. Occurs during an instruction prefetch.

Data. Occurs during a data operand access.

IRQ. An interrupt request (IRQ) exception is a normal interrupt serviced by the ARM7TDMI controller.

FIRQ. A fast interrupt request (FIRQ) exception supports a data transfer or channel process. An FIRQ interrupt is generated only by the GEN module timers and watchdog timer.

Exception priorities

Several exceptions can occur at the same time. If this happens, a fixed-priority system determines the order in which they are handled:

Highest priority

1Reset

2Data abort

3FIRQ

4IRQ

5Prefetch abort

6Undefined instruction, SWI

Lowest priority

3 2

N S 7 5 2 0 H a r d w a r e R e f e r e n c e , R e v . D 0 3 / 2 0 0 6

Page 46
Image 46
Digi NS7520 manual Summary of ARM exceptions, Exception priorities