##################
Trusted Firmware-M
##################
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.

    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: http://www.trustedfirmware.org
.. _Release notes: https://tf-m-user-guide.trustedfirmware.org/releases/index.html

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