
There are a wide variety of possible software architectures for the secure world, and the implementation of these is almost totally dependent on the application the user is targeting.
A simple implementation may be focused on protecting a single asset which was implemented in a protected factory environment, such as authentication of a single secret. This requires a simple solution comprising of a lightweight secure kernel and integration of the monitor for switching between normal and secure domains.
Alternatively the system architect may be looking for a robust and long term solution where trusted applications are appended over the lifetime of the device, for example in a mobile handset or tablet. In this case the designer may opt for a Trusted Execution Environment which mimics many of the dynamic functions of a traditional OS, including sandboxing of applications, while remaining small enough to be certified.
Due to the inherent complexity of implementing a full Secure OS, and the potential need to certify its capabilities and performance, ARM recommends investigating commercial TEE solutions from Trusted OS suppliers that are members of GlobalPlatform (www.globalplatfrom.org). However if partners require a simpler solution, or are investigating building their own TEE, then we recommend they start by reviewing example code for the Secure Monitor
ARMv7-A* example code available here or via ARM.com >> Support >> FAQ and Knowledge Articles
ARMv8-A** example code available here or via ARM.com >> Support >> Downloads
ARM is committed to open ecosystems, and believes that innovation happens best when you set engineers around the world free to design the future. As part of their commitment to openness when ARM formed Trustonic, a TEE vendor, in partnership with Gemalto and Gisekke & Devrient, ARM agreed to a set of open commitments with the European Union and MOFCOM (China Ministry of Commerce) to ensure an open environment.
Details of licensing terms and contacts under EU commitments
Details of licensing terms and contacts under MOFCOM (China) commitments
*ARMv7-A processors include Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A12, and Cortex-A15
**ARMv8 processors include Cortex-A53 and Cortex-A57

