Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
20
3.4
Cortex-M3 Processor Core Peripherals
3.4.1
Nested Vectored Interrupt Controller
The Nested Vectored Interrupt Controller (NVIC) is an embedded interrupt controller that supports low
latency interrupt processing.
3.4.2
System Control Block
The System control block (SCB) is the programmers model interface to the processor. It provides system
implementation information and system control, including configuration, control, and reporting of system
exceptions.
3.4.3
System Timer
The system timer, SysTick, is a 24-bit count-down timer. Use this as a Real Time Operating System
(RTOS) tick timer or as a simple counter.
3.4.4
Memory Protection Unit
The Memory protection unit (MPU) improves system reliability by defining the memory attributes for
different memory regions. It provides up to eight different regions, and an optional predefined
background region.
3.5
Cortex-M3 Processor Description
3.5.1
Programmers Model
This section describes the Cortex-M3 processor programmers model. In addition to the individual core
register descriptions, it contains information about the processor modes and privilege levels for software
execution and stacks.
3.5.1.1
Processor Mode and Privilege Levels for Software Execution
The processor modes are:
•
Thread mode:
Used to execute application software. The processor enters Thread mode when it
comes out of reset.
•
Handler mode:
Used to handle exceptions. The processor returns to Thread mode when it has
finished all exception processing.
The privilege levels for software execution are:
•
Unprivileged:
The software:
•
has limited access to the MSR and MRS instructions, and cannot use the CPS instruction
•
cannot access the system timer, NVIC, or system control block
•
might have restricted access to memory or peripherals.
Unprivileged software executes at the unprivileged level.
•
Privileged:
The software can use all the instructions and has access to all resources.
Privileged software executes at the privileged level.
In Thread mode, the CONTROL register controls whether software execution is privileged or
unprivileged, see
page 27. In Handler mode, software execution is always
privileged.
Only privileged software can write to the CONTROL register to change the privilege level for software
execution in Thread mode. Unprivileged software can use the SVC instruction to make a supervisor call
to transfer control to privileged software.
3.5.1.2
Stacks
The processor uses a full descending stack. This means the stack pointer holds the address of the last
stacked item in the stack memory. When the processor pushes a new item onto the stack, it decrements
the stack pointer and then writes the item to the new memory location. The processor implements two
stacks, the main stack and the process stack, held in independent registers, see
Содержание SmartFusion2 MSS
Страница 1: ...UG0331 User Guide SmartFusion2 Microcontroller Subsystem ...
Страница 166: ...Cortex M3 Processor Reference Material UG0331 User Guide Revision 15 0 132 ...
Страница 200: ...Embedded NVM eNVM Controllers UG0331 User Guide Revision 15 0 166 Figure 87 System Builder Window ...
Страница 407: ...Universal Serial Bus OTG Controller UG0331 User Guide Revision 15 0 373 ...
Страница 806: ...Fabric Interface Controller UG0331 User Guide Revision 15 0 772 Figure 345 FIC Master AHB Lite Subsystem ...