The processor implements the TrustZone Security Extensions architecture to facilitate the development of secure applications.
Security Extensions are based on these fundamental principles:
The extensions define 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.
The extensions define 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.
The processor enters Secure state on reset.
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 for information on the Security Extensions.