This is a paper covering a introduction of software development on ARMv8-M architecture.
AbstractThe next generation of ARM® Cortex®-M processors, Cortex-M23 and Cortex-M33, based on the ARMv8-M architecture, introduce optimized TrustZone® security features into microcontrollers. These new features make it easier to create ultra-low power secure solutions, whether for IoT or the wider embedded market. This paper outlines the new features from a software developer's point of view and provide guidance on how developers can use the new security features as a foundation for secure embedded products.The paper looks at the software needed to make use of the new features of the processors, including topics such as memory protection and chip start-up. The paper then explains how developers can ensure that the majority of software running on the new processors can work without change or with minor changes whilst still benefiting from security services protected by the isolation offered by TrustZone for ARMv8-M.
By default the Secure HardFault is executed and the security state is switched automatically to Secure when entering Secure HardFault handler. There is no need to execute SG instruction if the security state switching is triggered by exception sequences.
I have a question about cortex m33 . Is it possible to switch from non secure to secure world, after the generation of an exeption (hardfault) in non secure state, without entering to NSC region to execute the the SG instruction before switching to sevure state?
Could you help me about this case?