SWCU195A December 2024 – May 2025 CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1 , CC2755R10
Security State Transitions presents the possible security transitions, the instructions that can cause them, and any faults that may be generated.
Current Security State | Security Attribute of the Branch Target Address | Security State Change |
|---|---|---|
Secure | Non-secure | Change to Non-secure state if the branch was a BXNS or BLXNS instruction with the LSB of the target address set to 0. Otherwise, a SecureFault is generated. |
Non-secure | Secure and Non-secure callable | Change to Secure state if the branch target address contains an SG instruction. If the target address does not contain an SG a SecureFault is generated. |
Non-Secure | Secure and not Non-secure callable | A SecureFault is generated. |
A POP or LDM instruction that loads the PC
An LDR instruction that loads the PC
A BX instruction using any register
When a return from Non-secure state to Secure state occurs, the processor restores the program counter and XPSR from the Secure stack.
Any scenario not listed in the table triggers a SecureFault. For example:
Sequential instructions that cross security attributes from Secure to Non-secure.
A 32-bit instruction fetch that crosses regions with different security attributes