TF-M Requirements

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

Board

NSPE board name

ARM MPS2+ AN521

mps2/an521/cpu0/ns (qemu supported)

ARM MPS3

  • mps3/corstone300/fvp/ns (armfvp supported)

  • mps3/corstone310/fvp/ns (armfvp supported)

MPS4

  • mps4/corstone315/fvp/ns (armfvp supported)

  • mps4/corstone320/fvp/ns (armfvp supported)

BL5340 DVK

bl5340_dvk/nrf5340/cpuapp/ns

LPCXPRESSO55S69

lpcxpresso55s69_ns

nRF9160 DK

nrf9160dk/nrf9160/ns

nRF5340 DK

nrf5340dk/nrf5340/cpuapp/ns

B-U585I-IOT02A Discovery kit

b_u585i_iot02a/stm32u585xx/ns

Nucleo L552ZE Q

nucleo_l552ze_q/stm32l552xx/ns

STM32L562E-DK Discovery

stm32l562e_dk/stm32l562xx/ns

ARM V2M Musca B1

v2m_musca_b1/musca_b1/ns

ARM V2M Musca-S1

v2m_musca_s1/musca_s1/ns

To make sure TF-M is supported for a board in its output, check that 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:

$ 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:

$ sudo apt-get install srecord

And on OS X via:

$ 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