Back to Zephyr

TF-M Requirements

doc/services/tfm/requirements.rst

4.4.02.3 KB
Original Source

TF-M Requirements #################

The following are some of the boards that can be used with TF-M:

.. list-table:: :header-rows: 1

    • Board
    • NSPE board name
    • :ref:mps2_an521_board
    • mps2/an521/cpu0/ns (qemu supported)
    • :zephyr:board:mps3
      • mps3/corstone300/fvp/ns (armfvp supported)
      • mps3/corstone310/fvp/ns (armfvp supported)
    • :zephyr:board:mps4
      • mps4/corstone315/fvp/ns (armfvp supported)
      • mps4/corstone320/fvp/ns (armfvp supported)
    • :zephyr:board:bl5340_dvk
    • bl5340_dvk/nrf5340/cpuapp/ns
    • :zephyr:board:lpcxpresso55s69
    • lpcxpresso55s69_ns
    • :zephyr:board:nrf9160dk_nrf9160 <nrf9160dk>
    • nrf9160dk/nrf9160/ns
    • :zephyr:board:nrf5340dk
    • nrf5340dk/nrf5340/cpuapp/ns
    • :zephyr:board:b_u585i_iot02a
    • b_u585i_iot02a/stm32u585xx/ns
    • :zephyr:board:nucleo_l552ze_q
    • nucleo_l552ze_q/stm32l552xx/ns
    • :zephyr:board:stm32l562e_dk
    • stm32l562e_dk/stm32l562xx/ns
    • :zephyr:board:v2m_musca_b1
    • v2m_musca_b1/musca_b1/ns
    • :zephyr:board:v2m_musca_s1
    • v2m_musca_s1/musca_s1/ns

To 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>_