Programmer’s Model
2-2 Copyright © 2005-2008 ARM Limited. All rights reserved. ARM DDI 0337G
Non-Confidential
Unrestricted Access
2.1 About the programmer’s model
The processor implements the ARMv7-M architecture. This includes all the 16-bit
Thumb instructions and the base 32-bit Thumb instructions. The processor cannot
execute ARM instructions. For more information about the ARMv7-M Thumb
instruction set see the ARMv7-M Architecture Reference Manual.
2.1.1 Operating modes
The processor supports two modes of operation, Thread mode and Handler mode:
• Thread mode is entered on Reset, and can be entered as a result of an exception
return. Privileged and User (Unprivileged) code can run in Thread mode.
• Handler mode is entered as a result of an exception. All code is privileged in
Handler mode.
2.1.2 Operating states
The processor can operate in one of two operating states:
• Thumb state. This is normal execution running 16-bit and 32-bit halfword aligned
Thumb instructions.
• Debug State. This is the state when in halting debug.