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.