SDAA473 November 2026 MSPM33C321A , MSPM33C321A-Q1
To branch to non-secure application, user should use BLXNS instruction to convert the core state from S to NS.
In the example, the core transitions from S to NS state via Non Secure Function calls(marked using NS_FUNC in the example), and the branch to the NS code is done by the BLXNS instruction. User can find the definition in sns_helper.h.
/* Get non-secure reset handler */
const uint32_t *p_ns_vector_table = (uint32_t *) NON_SECURE_APP0_START;
const uint32_t *p_ns_reset_address =
(const uint32_t *) ((uint32_t) NON_SECURE_APP0_START +
sizeof(uint32_t));
nonsecure_func_t p_ns_reset = (nonsecure_func_t)(*p_ns_reset_address);