The processor supports TrustZone Security Extensions to provide a secure environment for software. TrustZone is an enhancement to the ARM architecture that integrates hardware security features to facilitate the development of secure applications.
Security Extension is based on these fundamental principles:
It defines a class of core operation that you can switch between Secure and Nonsecure state. Most code runs in Nonsecure state. Only trusted code runs in Secure state.
It defines some memory as secure memory. When the core is in Secure state, it can access secure memory.
Entry into Secure state is strictly controlled.
Exit from Secure state can only occur at programmed points.
Debug is strictly controlled.
Reset enters Secure state.
Exceptions are generally handled in a similar way to other ARM architectures. Support is available for some exceptions handled only by code running in Secure state.
See the ARM Architecture Reference Manual, Security Extensions supplement for more details on how TrustZone works in the architecture.