blob: 51934585d949b1ada8f680313ffc07a5cc2862c9 [file] [log] [blame]
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +00001##################
2Trusted Firmware M
3##################
4Trusted Firmware M provides a reference implementation of secure world software
5for ARMv8-M.
6
7.. Note::
8 The software implementation contained in this project is designed to be a
9 reference implementation of the Platform Security Architecture (PSA).
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +000010
11Terms ``TFM`` and ``TF-M`` are commonly used in documents and code and both
12refer to ``Trusted Firmware M.`` :doc:`Glossary </docs/glossary>` has the list
13of terms and abbreviations.
14
15#######
16License
17#######
18The software is provided under a BSD-3-Clause :doc:`License </docs/lic>`.
19Contributions to this project are accepted under the same license with developer
Galanakis, Minos0c1ad782019-11-08 11:28:40 +000020sign-off as described in the :doc:`Contributing Guidelines </docs/processes/contributing>`.
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +000021
22This project contains code from other projects as listed below. The code from
23external projects is limited to ``app`` and ``platform`` folders.
24The original license text is included in those source files.
25
26- The ``platform`` folder currently contains drivers imported from external
27 project and the files have Apache 2.0 license.
28- The ``app`` folder contains files imported from CMSIS_5 project and the files
29 have Apache 2.0 license.
30- The ``bl2`` folder contains files imported from MCUBoot project and the files
31 have Apache 2.0 license.
32
33.. Note::
34 Any code that has license other than BSD-3-Clause is kept in specific sub
35 folders named ``ext`` so that it can isolated if required.
36
Soby Mathewd8efe8f2020-03-16 15:19:05 +000037#############
38Release Notes
39#############
40The :doc:`Change Log & Release Notes </docs/changelog>` provides details of
41major features of the release and platforms supported.
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +000042
43###############
44Getting Started
45###############
46
47************
48Prerequisite
49************
50Trusted Firmware M provides a reference implementation of PSA specifications.
51It is assumed that the reader is familiar with PSA concepts and terms. PSA
52specifications are currently not available in the public domain.
53
54The current TF-M implementation specifically targets TrustZone for ARMv8-M so a
55good understanding of the v8-M architecture is also necessary. A good place to
56get started with ARMv8-M is
57`developer.arm.com <https://developer.arm.com/technologies/trustzone>`__.
58
59**********************
60Really getting started
61**********************
62Trusted Firmware M source code is available on `git.trustedfirmware.org
63<https://git.trustedfirmware.org/trusted-firmware-m.git/>`__
64
65To build & run TF-M:
66
67 - Follow the :doc:`SW requirements guide </docs/user_guides/tfm_sw_requirement>`
68 to set up your environment.
69 - Follow the
70 :doc:`Build instructions </docs/user_guides/tfm_build_instruction>` to compile
71 and build the TF-M source.
72 - Follow the :doc:`User guide </docs/user_guides/tfm_user_guide>` for information
73 on running the example.
74
75To port TF-M to a another system or OS, follow the
76:doc:`OS Integration Guide </docs/user_guides/tfm_integration_guide>`
77
78Please also see the :doc:`glossary </docs/glossary>` of terms used in the project.
79
Galanakis, Minos0c1ad782019-11-08 11:28:40 +000080:doc:`Contributing Guidelines </docs/processes/contributing>` contains guidance on how to
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +000081contribute to this project.
82
83Further documents can be found in the ``docs`` folder.
84
85
86####################
87Feedback and support
88####################
Minos Galanakisfc6804e2020-03-10 11:03:34 +000089For this release, feedback is requested via email to
90`tf-m@lists.trustedfirmware.org <tf-m@lists.trustedfirmware.org>`__.
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +000091
92###############
93Version history
94###############
Soby Mathewd8efe8f2020-03-16 15:19:05 +000095+-------------+--------------+--------------------+---------------+
96| Version | Date | Description | PSA-arch tag |
97+=============+==============+====================+===============+
98| v1.0-beta | 2019-02-15 | 1.0-beta release | - |
99+-------------+--------------+--------------------+---------------+
100| v1.0-RC1 | 2019-05-31 | 1.0-RC1 release | v19.06_API0.9 |
101+-------------+--------------+--------------------+---------------+
102| v1.0-RC2 | 2019-10-09 | 1.0-RC2 release | v19.06_API0.9 |
103+-------------+--------------+--------------------+---------------+
104| v1.0-RC3 | 2019-11-29 | 1.0-RC3 release | v19.06_API0.9 |
105+-------------+--------------+--------------------+---------------+
106| v1.0 | 2020-03-27 | 1.0 release | v20.03_API1.0 |
107+-------------+--------------+--------------------+---------------+
Galanakis, Minos6ccf7ec2019-11-07 15:15:05 +0000108
109--------------
110
Minos Galanakisfc6804e2020-03-10 11:03:34 +0000111*Copyright (c) 2017-2020, Arm Limited. All rights reserved.*