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