We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear All,
Please help me to change the cpu state from secure to non-secure hust after starting in reset handler itself.
Is there any way to change its state to the non-secure region.
From the docs:
C2.4.25 BLX, BLXNSBranch with Link and Exchange (Non-secure). Branch with Link and Exchange calls a subroutine at an address,with the address and instruction set specified by a register. Bit[0] complies with the Arm architecture interworkingrules for switching between the A32 and T32 instruction sets. However, Armv8-M only supports the T32 instructionset, so bit[0] must be 1. If bit[0] is 0 the PE takes an INVSTATE UsageFault exception on the instruction at thetarget address.Branch with Link and Exchange Non-secure calls a subroutine at an address specified by a register, and if bit[0] ofthe target address is 0 then the instruction causes a transition from Secure to Non-secure state. This variant of theinstruction must only be used when the additional steps required to make such a transition safe have been taken.