Trusted Firmware is an open source project implementing foundational software components for creating secure devices. It currently consists of:
- **Trusted Firmware-A**. A reference implementation of secure world software for Arm A-Profile systems (Armv8-A and Armv7-A), including an Exception Level 3 (EL3) Secure Monitor. It leverages Arm TrustZone technology; this is different for A and M profile systems, which is why the project has two separate codebases. [[./tf_a/ | Continue on to the TF-A wiki... ]]
- **Trusted Firmware M**. A reference implementation of secure world software for Arm M-Profile systems (Armv8-M. [[./tf_m/ | Continue on to the TF-M wiki...]]
- **OP-TEE**. A Trusted Execution Environment (TEE) designed as a companion to a non-secure Linux kernel running on Arm A-Profile systems (Armv8-A and Armv7-A) using TrustZone technology. On Armv8-A systems it runs at Secure-EL1. [[https://optee.readthedocs.io/en/latest/ | Continue on the the OP-TEE documentation]]
- **Hafnium**. This is a reference Secure Partition Manager (SPM) for systems that implement the Armv8.4-A Secure-EL2 extension. It enables multiple, isolated Secure Partitions (SPs) to run at Secure-EL1.
- **Mbed TLS**. is a C library implementing cryptographic primitives, X.509 certificate manipulation and the SSL/TLS and DTLS protocols. Its small code footprint makes it suitable for embedded systems. It has many users, including TF-A, TF-M and OP-TEE. [[./mbed-tls/ | Continue on to the Mbed TLS wiki...]]
See also the [[./resources/ | common resources, including monthly project updates...]] , including [[./resources/board-minutes/ | the public minutes of the Project Governing Board meetings.]]
Here is a list of public [[ ./events/ | events ]] relevant to the Trusted Firmware project.