Programmer’s Model
2-22
Copyright 2000 ARM Limited. All rights reserved.
ARM DDI 0165B
2.9.4
Reset
When the nRESET signal is driven LOW a reset occurs, and the ARM9E-S abandons
the executing instruction.
When nRESET is driven HIGH again the ARM9E-S:
1.
Forces CPSR[4:0] to b10011 (Supervisor mode), sets the I and F bits in the CPSR,
and clears the CPSR T bit. Other bits in the CPSR are indeterminate.
2.
Forces the PC to fetch the next instruction from the reset vector address.
3.
Reverts to ARM state, and resumes execution.
After reset, all register values except the PC and CPSR are indeterminate.
2.9.5
Fast interrupt request
The Fast Interrupt Request (FIQ) exception supports fast interrupts. In ARM state, FIQ
mode has eight private registers to reduce, or even remove the requirement for register
saving (minimizing the overhead of context switching).
An FIQ is externally generated by taking the nFIQ signal input LOW. The nFIQ input
is registered internally to the ARM9E-S. It is the output of this register that is used by
the ARM9E-S control logic.
Irrespective of whether exception entry is from ARM state or from Thumb state, an FIQ
handler returns from the interrupt by executing:
SUBS PC,R14_fiq,#4
You can disable FIQ exceptions within a privileged mode by setting the CPSR F flag.
When the F flag is clear, the ARM9E-S checks for a LOW level on the output of the
nFIQ register at the end of each instruction.
FIQs and IRQs are disabled when an FIQ occurs. Nested interrupts are allowed but it is
up to the programmer to save any corruptible registers and to re-enable FIQs and
interrupts.
2.9.6
Interrupt request
The Interrupt Request (IRQ) exception is a normal interrupt caused by a LOW level on
the nIRQ input. IRQ has a lower priority than FIQ, and is masked on entry to an FIQ
sequence. You can disable IRQ at any time, by setting the I bit in the CPSR from a
privileged mode.