doc/services/tfm/requirements.rst
TF-M Requirements #################
The following are some of the boards that can be used with TF-M:
.. list-table:: :header-rows: 1
mps2_an521_boardmps2/an521/cpu0/ns (qemu supported)mps3mps3/corstone300/fvp/ns (armfvp supported)mps3/corstone310/fvp/ns (armfvp supported)mps4mps4/corstone315/fvp/ns (armfvp supported)mps4/corstone320/fvp/ns (armfvp supported)bl5340_dvkbl5340_dvk/nrf5340/cpuapp/nslpcxpresso55s69lpcxpresso55s69_nsnrf9160dk_nrf9160 <nrf9160dk>nrf9160dk/nrf9160/nsnrf5340dknrf5340dk/nrf5340/cpuapp/nsb_u585i_iot02ab_u585i_iot02a/stm32u585xx/nsnucleo_l552ze_qnucleo_l552ze_q/stm32l552xx/nsstm32l562e_dkstm32l562e_dk/stm32l562xx/nsv2m_musca_b1v2m_musca_b1/musca_b1/nsv2m_musca_s1v2m_musca_s1/musca_s1/nsTo make sure TF-M is supported for a board
in its output, check that :kconfig:option:CONFIG_TRUSTED_EXECUTION_NONSECURE
is set to y in that board's default configuration.
Software Requirements
The Python modules required when building TF-M binaries are listed in the
TF-M repository under tools/requirements.txt.
You can install them via:
.. code-block:: bash
$ pip3 install -r "$(west list trusted-firmware-m -f '{abspath}')/tools/requirements.txt"
They are used by TF-M's signing utility to prepare firmware images for validation by the bootloader.
Part of the process of generating binaries for QEMU and merging signed
secure and non-secure binaries on certain platforms also requires the use of
the srec_cat utility.
This can be installed on Linux via:
.. code-block:: bash
$ sudo apt-get install srecord
And on OS X via:
.. code-block:: bash
$ brew install srecord
For Windows-based systems, please make sure you have a copy of the utility
available on your system path. See, for example:
SRecord for Windows <https://sourceforge.net/projects/srecord/files/srecord-win32>_