| |||
| Home > Programmers Model > Operating modes | |||
There are eight modes of operation:
User mode is the usual ARM program execution state, and is used for executing most application programs
Fast interrupt (FIQ) mode is used for handling fast interrupts
Interrupt (IRQ) mode is used for general-purpose interrupt handling
Supervisor mode is a protected mode for the OS
Abort mode is entered after a data abort or prefetch abort
System mode is a privileged user mode for the OS
Undefined mode is entered when an Undefined Instruction exception occurs
Monitor mode is a Secure mode for the Security Extensions Secure Monitor code.
Modes other than User mode are collectively known as privileged modes. Privileged modes are used to service interrupts or exceptions, or to access protected resources. Table 2.8 shows the mode structure for the processor.
Table 2.8. Mode structure
Modes | Mode type | Security state of core | |
|---|---|---|---|
NS bit = 1 | NS bit = 0 | ||
| User | User | Nonsecure | Secure |
| FIQ | Privileged | Nonsecure | Secure |
| IRQ | Privileged | Nonsecure | Secure |
| Supervisor | Privileged | Nonsecure | Secure |
| Abort | Privileged | Nonsecure | Secure |
| Undefined | Privileged | Nonsecure | Secure |
| System | Privileged | Nonsecure | Secure |
| Monitor | Privileged | Secure | Secure |