Login

Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

Development of TEE and Secure Monitor Code

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