SLAU846A June 2023 – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
The processor supports two primary modes of execution:
By default, the processor is in thread mode out of reset. If an exception is issued to the processor, the processor will handle the exception in handler mode and return to thread mode after handler execution is complete. Code running in thread mode can be configured as being privileged or unprivileged, based on the configuration of the processor's internal CONTROL register. Code running in handler mode always executes as privileged.
In general, code which executes as privileged has complete control of the processor configuration, including control of the MPU, SysTick, NVIC, and SCB. Only privileged code can change the privilege level for code running in thread mode.
Code that is executing in thread mode in an unprivileged state cannot access the previously mentioned resources (MPU, SysTick, NVIC, SCB) and can be subject to MPU restrictions if the MPU is configured and enabled.