1TF-M Requirements
2#################
3
4The following are some of the boards that can be used with TF-M:
5
6.. list-table::
7   :header-rows: 1
8
9   * - Board
10     - NSPE board name
11   * - :ref:`mps2_an521_board`
12     - ``mps2/an521/cpu0/ns`` (qemu supported)
13   * - :ref:`mps3_board`
14     - ``mps3/corstone300/an547/ns`` (qemu supported)
15   * - :zephyr:board:`bl5340_dvk`
16     - ``bl5340_dvk/nrf5340/cpuapp/ns``
17   * - :zephyr:board:`lpcxpresso55s69`
18     - ``lpcxpresso55s69_ns``
19   * - :ref:`nrf9160dk_nrf9160`
20     - ``nrf9160dk/nrf9160/ns``
21   * - :ref:`nrf5340dk_nrf5340`
22     - ``nrf5340dk/nrf5340/cpuapp/ns``
23   * - :zephyr:board:`b_u585i_iot02a`
24     - ``b_u585i_iot02a/stm32u585xx/ns``
25   * - :zephyr:board:`nucleo_l552ze_q`
26     - ``nucleo_l552ze_q/stm32l552xx/ns``
27   * - :zephyr:board:`stm32l562e_dk`
28     - ``stm32l562e_dk/stm32l562xx/ns``
29   * - :ref:`v2m_musca_b1_board`
30     - ``v2m_musca_b1/musca_b1/ns``
31   * - :ref:`v2m_musca_s1_board`
32     - ``v2m_musca_s1/musca_s1/ns``
33
34To make sure TF-M is supported for a board
35in its output, check that :kconfig:option:`CONFIG_TRUSTED_EXECUTION_NONSECURE`
36is set to ``y`` in that board's default configuration.
37
38Software Requirements
39*********************
40
41The following Python modules are required when building TF-M binaries:
42
43* cryptography
44* pyasn1
45* pyyaml
46* cbor>=1.0.0
47* imgtool>=1.9.0
48* jinja2
49* click
50
51You can install them via:
52
53   .. code-block:: bash
54
55      $ pip3 install --user cryptography pyasn1 pyyaml cbor>=1.0.0 imgtool>=1.9.0 jinja2 click
56
57They are used by TF-M's signing utility to prepare firmware images for
58validation by the bootloader.
59
60Part of the process of generating binaries for QEMU and merging signed
61secure and non-secure binaries on certain platforms also requires the use of
62the ``srec_cat`` utility.
63
64This can be installed on Linux via:
65
66   .. code-block:: bash
67
68      $ sudo apt-get install srecord
69
70And on OS X via:
71
72   .. code-block:: bash
73
74      $ brew install srecord
75
76For Windows-based systems, please make sure you have a copy of the utility
77available on your system path. See, for example:
78`SRecord for Windows <https://sourceforge.net/projects/srecord/files/srecord-win32>`_
79