CMSIS TF-M Packs

This repository contains tools and data to create TF-M CMSIS-Packs.

Prerequisites

  • bash compatible shell (under Windows, use for example git bash)

  • Git

  • 7-Zip

  • Python v3.6 or later with pip package manager

  • Doxygen v1.8.0 or later (for building documentation)

  • Graphviz v2.38.0 or later (for building documentation)

  • PlantUML v1.2018.11 or later in PLANTUML_JAR_PATH (for building documentation)

  • Java runtime environment 1.8 or later (for running PlantUML)

  • CMSIS Pack installed in CMSIS_PACK_ROOT (for PackChk utility)

  • xmllint in path (XML schema validation; available only for Linux)

Create packs

  1. Open a bash compatible shell

  2. Run ./setup.sh script. The script will:

    • install the required python packages

    • clone the trusted-firmware-m repository

    • clone the tf-m-tests repository

    • clone the mcuboot repository

    • merge mcuboot into trusted-firmware-m

    • apply patches for trusted-firmware-m

    • apply patches for tf-m-tests

    • generate template based files

    • setup tf-m-tests (copy/move files from trusted-firmware-m)

    • merge addon files for trusted-firmware-m

    • merge addon files for tf-m-tests

  3. Generate TF-M documentation:

    • setup path variable for PlantUML: export PLANTUML_JAR_PATH=<plantuml_Path>/plantuml.jar

    • run gen_doc.sh script

  4. Generate CMSIS-Packs:

    • TFM:

      • go to ./trusted-firmware-m directory

      • run gen_pack.sh script

      • generated pack is available in the output directory

    • TFM-Test:

      • go to ./tf-m-tests directory

      • run gen_pack.sh script

      • generated pack is available in the output directory

    • V2M-MPS2_SSE_200_TFM-PF (TF-M Platform support for MPS2):

      • run setup_mps2.sh script

      • go to ./tf-m-platform-mps2 directory

      • run gen_pack.sh script

      • generated pack is available in the output directory

      • note: this pack should not be published and used only for testing TF-M

  5. Run ./clean.sh script to delete all intermediate and generated files


Copyright (c) 2021, Arm Limited. All rights reserved.