Friday, June 15, 2007

ARM Core : Operating Modes

The ARM7 has seven different operating modes.
  • User Mode
  • Fast Interrupt Mode
  • Interrupt Mode
  • Supervisor Mode
  • Abort Mode
  • System Mode
  • Undefined Mode
All modes other than User are privileged modes. These are used to servicehardware interrupts, exceptions, and software interrupts. Each privileged mode has an associated Saved Program Status Register (SPSR). This register is use to save the state of the Current Program Status Register (CPSR) of the task immediately before the exception occurs.

The system and user mode are combined in terms of register space.Both have the same register sets.System mode does not have any banked registers. It uses the User mode registers




In the THUMB state, eight general registers, the Program Counter (PC),Stack Pointer (SP), Link Register (LR), and Current Program Status Register (CPSR) are accessible.




PS: The PC,CSPR registers are not banked for the ARM or THUMB mode.
Only SP,LR and r7 to r14 for FIQ are banked.No FIQ banked registers in THUMB mode.

No comments: