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**. 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**. 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]]. This includes monthly project updates and the [[./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.