##################
Trusted Firmware-M
##################

.. image:: https://scan.coverity.com/projects/22164/badge.svg
   :alt: Coverity Scan Build Status
   :target: https://scan.coverity.com/projects/trusted-firmware-m-35b064f0-65c2-4afb-9ba9-24aa432fb7fa

The Trusted Firmware-M software implementation contained in this project is
designed to be a reference implementation of the
`Platform Security Architecture`_ (PSA) for `ARMv7-M and Armv8-M`_.

###########
Quick Links
###########

.. Note::
    This git contains the source code for Trusted Firmware-M. It is primarily
    hosted at `git.trustedfirmware.org`_ with a read-only mirror available on
    `GitHub`_.

    All official documentation has moved to `Trusted Firmware-M documentation`_
    which is available through `trustedfirmware.org`_.

* `ARMv7-M and Armv8-M`_
* `ARMv8-M Architecture`_
* `Platform Security Architecture`_
* `PSA certified`_
* `Documentation home`_
* `Release notes`_
* `TF-M getting started`_
* `Build instructions`_
* `Run TF-M examples on Arm platforms`_
* `Contribution guidelines`_
* `trustedfirmware.org`_

####################
Feedback and support
####################
Feedback can be submitted via email to
`TF-M mailing list <tf-m@lists.trustedfirmware.org>`__.

.. _License: https://tf-m-user-guide.trustedfirmware.org/contributing/lic.html
.. _Contribution guidelines: https://tf-m-user-guide.trustedfirmware.org/contributing/contributing_process.html
.. _Build instructions: https://tf-m-user-guide.trustedfirmware.org/building/tfm_build_instruction.html
.. _TF-M getting started: https://tf-m-user-guide.trustedfirmware.org/getting_started/tfm_getting_started.html
.. _Run TF-M examples on Arm platforms: https://tf-m-user-guide.trustedfirmware.org/building/run_tfm_examples_on_arm_platforms.html
.. _ARMv7-M and Armv8-M: https://developer.arm.com/architectures/cpu-architecture/m-profile
.. _ARMv8-M Architecture: https://developer.arm.com/docs/100688/latest/an-introduction-to-the-armv8-m-architecture
.. _Platform Security Architecture: https://www.arm.com/why-arm/architecture/platform-security-architecture
.. _PSA certified: https://www.psacertified.org/
.. _Trusted Firmware-M documentation: `Documentation home`_
.. _Documentation home: https://tf-m-user-guide.trustedfirmware.org/index.html
.. _trustedfirmware.org: https://www.trustedfirmware.org
.. _Release notes: https://tf-m-user-guide.trustedfirmware.org/releases/index.html
.. _git.trustedfirmware.org: https://git.trustedfirmware.org/
.. _GitHub: https://github.com/TrustedFirmware-M

*Copyright (c) 2017-2025, Arm Limited. All rights reserved.*
