The Cortex-M7 processor. STMicroelectronics STM32H7S3L8, STM32H7R3L8, STM32H7S7A8, STM32H7R3V8, STM32H7R3R8, STM32H7S3Z8, STM32H7S3I8, STM32H7S3V8, STM32H7S7Z8, STM32H7R7I8
Reklama
Reklama
PM0253
2 The Cortex-M7 processor
The Cortex-M7 processor
2.1.1
This section describes the Cortex
®
-M7 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.
Processor mode and privilege levels for software execution
The processor modes are:
Thread mode
Handler mode
Executes application software. The processor enters Thread mode when it comes out of reset.
Handles 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 system registers using the MSR and MRS instructions, and cannot use the CPS instruction to mask interrupts.
• 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 CONTROL register on 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.
2.1.2 Stacks
The processor uses a full descending stack. This means the stack pointer holds the address of the last stacked item in 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 , with a pointer for each held in independent registers, see
.
In Thread mode, the CONTROL register controls whether the processor uses the main stack or the process stack, see
. In Handler mode, the processor always uses the main stack. The options for processor operations are:
PM0253 Rev 5 19/254
51
Stáhnout
Reklama