User guide

Programmers Model
ARM DDI 0337I Copyright © 2005-2008, 2010 ARM Limited. All rights reserved. 3-3
ID072410 Non-Confidential
3.2 Modes of operation and execution
This section briefly describes the modes of operation and execution of the Cortex-M3 processor.
See the ARMv7-M Architecture Reference Manual for more information.
3.2.1 Operating modes
The processor supports two modes of operation, Thread mode and Handler mode:
The processor enters Thread mode on Reset, or as a result of an exception return.
Privileged and Unprivileged code can run in Thread mode.
The processor enters Handler mode as a result of an exception. All code is privileged in
Handler mode.
3.2.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 the processor is in halting debug.
3.2.3 Privileged access and user access
Code can execute as privileged or unprivileged. Unprivileged execution limits or excludes
access to some resources. Privileged execution has access to all resources. Handler mode is
always privileged. Thread mode can be privileged or unprivileged.