blob: 0f4eda0af8dc33a7be1022399b4db844fbb76376 [file] [log] [blame]
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02001##############################
2Trusted Firmware M - v1.0-beta
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 Arm Platform Security Architecture (PSA).
10 It currently does not implement all the features of that architecture,
11 however we expect the code to evolve along with the specifications.
12
13Terms ``TFM`` and ``TF-M`` are commonly used in documents and code and both
14refer to ``Trusted Firmware M.`` :doc:`Glossary </glossary>` has the list
15of terms and abbreviations.
16
17#######
18License
19#######
20The software is provided under a BSD-3-Clause :doc:`License </license>`.
21Contributions to this project are accepted under the same license with developer
22sign-off as described in the :doc:`Contributing Guidelines </contributing>`.
23
24This project contains code from other projects as listed below. The code from
25external projects is limited to ``app`` and ``platform`` folders.
26The original license text is included in those source files.
27
28- The ``platform`` folder currently contains drivers imported from external
29 project and the files have Apache 2.0 license.
30- The ``app`` folder contains files imported from CMSIS_5 project and the files
31 have Apache 2.0 license.
32- The ``bl2`` folder contains files imported from MCUBoot project and the files
33 have Apache 2.0 license.
34
35.. Note::
36 Any code that has license other than BSD-3-Clause is kept in specific sub
37 folders named ``ext`` so that it can isolated if required.
38
39############
40This Release
41############
42This release includes:
43
44 - A Secure FW with support for PSA Level 1 isolation on ARMv8M.
45 - The Interfaces exposed by the Secure FW to NS side.
46 - A blocking secure fw model with NS application example.
47 - Secure services running within this SPE:
48
49 - Secure Storage Service
50 - Attestation
51 - Crypto Service
52 - TF-M Audit Log
53 - Platform Service
54 - Secure Storage Service
55
56 - Support for ARMv8-M mainline and baseline
57 - Testcases running baremetal and with RTX to test the functionality.
58 - Basic support for higher level isolation but it is
59 ``in progress with limited testing``.
60 - BL2 bootloader for image authentication based on SHA256 and RSA-2048
61 digital signature.
62 - Build system based on cmake, supporting armclang and GNU Arm.
63
64***********
65In progress
66***********
67- Ongoing and incremental support for PSA features:
68
69 - Level 2 and 3 PSA isolation
70 - PSA IPC support
71 - Bootloader enhancements
72 - ...
73
74- OS support and use case examples:
75
76 - mbed OS upstream support
77 - mbed cloud client examples
78 - ...
79
80- Ongoing security hardening, optimization and quality improvements.
81
82*********
83Platforms
84*********
85Current release has been tested on:
86
87 - Cortex M33 based SSE-200 system:
88
89 - `FPGA image loaded on MPS2 board.
90 <https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2>`__
91 - `Fast model FVP_MPS2_AEMv8M.
92 <https://developer.arm.com/products/system-design/fixed-virtual-platforms>`__
93 - `Musca-A1 test chip board.
94 <https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a1-test-chip-board>`__
95 - `Musca-B1 test chip board.
96 <https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-b-test-chip-board>`__
97
98 - Cortex M23 based IoT Kit system:
99
100 - `FPGA image loaded on MPS2 board.
101 <https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2>`__
102
103###############
104Getting Started
105###############
106
107************
108Prerequisite
109************
110Trusted Firmware M provides a reference implementation of PSA specifications.
111It is assumed that the reader is familiar with PSA concepts and terms. PSA
112specifications are currently not available in the public domain.
113
114The current TF-M implementation specifically targets TrustZone for ARMv8-M so a
115good understanding of the v8-M architecture is also necessary. A good place to
116get started with ARMv8-M is
117`developer.arm.com <https://developer.arm.com/technologies/trustzone>`__.
118
119**********************
120Really getting started
121**********************
122Trusted Firmware M source code is available on `git.trustedfirmware.org
123<https://git.trustedfirmware.org/trusted-firmware-m.git/>`__
124
125To build & run TF-M:
126
127 - Follow the :doc:`SW requirements guide </docs/user_guides/tfm_sw_requirement>`
128 to set up your environment.
129 - Follow the
130 :doc:`Build instructions </docs/user_guides/tfm_build_instruction>` to compile
131 and build the TF-M source.
132 - Follow the :doc:`User guide </docs/user_guides/tfm_user_guide>` for information
133 on running the example.
134
135To port TF-M to a another system or OS, follow the
136:doc:`OS Integration Guide </docs/user_guides/tfm_integration_guide>`
137
138Please also see the :doc:`glossary </glossary>` of terms used in the project.
139
140:doc:`Contributing Guidelines </contributing>` contains guidance on how to
141contribute to this project.
142
143Further documents can be found in the ``docs`` folder.
144
145
146####################
147Feedback and support
148####################
149For this early access release, feedback is requested via email to
150`support-trustedfirmware-m@arm.com <support-trustedfirmware-m@arm.com>`__.
151
152###############
153Version history
154###############
155+-------------+--------------+--------------------+
156| Version | Date | Description |
157+=============+==============+====================+
158| v1.0-beta | 2019-02-15 | 1.0-beta release |
159+-------------+--------------+--------------------+
160
161--------------
162
163*Copyright (c) 2017-2019, Arm Limited. All rights reserved.*