1###################################################
2Additional build instructions for the IAR toolchain
3###################################################
4
5Follow the instructions in
6:doc:`software requirements <tfm_build_instruction>`, but replace the -DTFM_TOOLCHAIN_FILE setting with toolchain_IARARM.cmake.
7
8
9Notes for building with IARARM
10------------------------------
11
12    IAR Embedded Workbench for ARM (EWARM) versions v9.30.1 or later are required.
13
14    Currently the MUSCA_B1 and MUSCA_S1 targets are not supported with IARARM,
15    due to lack of testing.
16
17    cmake needs to be version 3.21 or newer.
18
19    The V8M IAR CMSIS_5 RTX libraries in CMSIS_5 5.5.0 has a problem and has been updated in
20    CMSIS_5 5.7.0. The updated libraries are part of the tf-m-tests repo and no special instructions
21    are needed when the libraries from this repo are used.
22
23    For all configurations and build options some of the QCBOR tests fail due to the tests not handling
24    double float NaN:s according to the Arm Runtime ABI. This should be sorted out in the future.
25
26Example: building TF-M for AN521 platform using IAR:
27====================================================
28
29.. code-block:: bash
30
31    cd <TF-M base folder>
32    cmake -S . -B cmake_build -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=toolchain_IARARM.cmake
33    cmake --build cmake_build -- install
34
35Alternately using traditional cmake syntax
36
37.. code-block:: bash
38
39    cd <TF-M base folder>
40    mkdir cmake_build
41    cd cmake_build
42    cmake .. -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_IARARM.cmake
43    make install
44
45Regression Tests for the AN521 target platform
46==============================================
47
48.. code-block:: bash
49
50    cd <TF-M base folder>
51    cmake -S . -B cmake_build -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=toolchain_IARARM.cmake -DTEST_S=ON -DTEST_NS=ON
52    cmake --build cmake_build -- install
53
54Alternately using traditional cmake syntax
55
56.. code-block:: bash
57
58    cd <TF-M base folder>
59    mkdir cmake_build
60    cd cmake_build
61    cmake .. -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_IARARM.cmake -DTEST_S=ON -DTEST_NS=ON
62    make install
63
64*Copyright (c) 2020-2021, Arm Limited. All rights reserved.*
65