To compile TF-M code, at least one of the supported compiler toolchains have to be available in the build environment. The currently supported compiler versions are:
Note The ARM compilers above are provided via Keil uVision v5.24.1 or greater, DS-5 v5.27.1 or greater, and Development Studio 2018.0, or they can be downloaded as standalone packages from here.
Note The GNU Arm compiler can be downloaded from here. On the page select GNU Arm Embedded Toolchain: 6-2017-q1-update or GNU Arm Embedded Toolchain: 7-2018-q2-update
Note In this version, you also need manually clone CMSIS_5 and mbedtls repositories at the same location where tfm repo is located.
Note ARM compiler specific environment variable may need updating based on specific products and licenses as explained in product-and-toolkit-configuration.
To import ARM Compiler v6.7.1 in your bash shell console:
export PATH=<DS-5_PATH>/sw/ARMCompiler6.7.1/bin:$PATH export ARM_TOOL_VARIANT="ult" export ARM_PRODUCT_PATH="<DS-5_PATH>/sw/mappings" export ARMLMD_LICENSE_FILE="<LICENSE_FILE_PATH>"
To import cmake in your bash shell console:
export PATH=<CMAKE_PATH>/bin:$PATH
To import GNU Arm in your bash shell console:
export PATH=<GNU_ARM_PATH>/bin:$PATH
If applicable, import ARM Compiler v6.7.1 in your shell console. To make this change permanent, add the command line into ~/.bashrc
DS5
export PATH="/cygdrive/c/<DS-5 path>/sw/ARMCompiler6.7.1/bin":$PATH export ARM_PRODUCT_PATH="C:/<DS-5 path>/sw/mappings"
Keil
export PATH="/cygdrive/c/<uVison path>/ARM/ARMCLANG/bin":$PATH export ARM_PRODUCT_PATH="C:/<uVison path>/ARM/sw/mappings"
Shared settings
export ARM_TOOL_VARIANT="ult" export ARMLMD_LICENSE_FILE="<LICENSE_FILE_PATH>"
If applicable, import GNU Arm compiler v6.3.1 in your shell console. To make this change permanent, add the command line into ~/.bashrc
GNU Arm
export PATH=<GNU_ARM_PATH>/bin:$PATH
To import cmake in your bash shell console:
cmake
export PATH=/cygdrive/c/<CMAKE_PATH>/bin:$PATH
Copyright (c) 2017-2018, Arm Limited. All rights reserved.