TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 1 | ################################################### |
| 2 | Additional build instructions for the IAR toolchain |
| 3 | ################################################### |
| 4 | |
| 5 | Follow the instructions in |
Raef Coles | 6981732 | 2020-10-19 14:14:14 +0100 | [diff] [blame] | 6 | :doc:`software requirements <tfm_build_instruction>`, but replace the -DTFM_TOOLCHAIN_FILE setting with toolchain_IARARM.cmake. |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 7 | |
| 8 | |
| 9 | Notes for building with IARARM |
| 10 | ------------------------------ |
| 11 | |
Mudit Sharma | 8301e10 | 2025-04-10 11:44:31 +0100 | [diff] [blame] | 12 | IAR Embedded Workbench for ARM (EWARM) versions v9.30.1 or later are required. |
TTornblom | befd3ca | 2020-04-30 11:09:08 +0200 | [diff] [blame] | 13 | |
Minos Galanakis | dfefe25 | 2021-03-11 10:49:58 +0000 | [diff] [blame] | 14 | Currently the MUSCA_B1 and MUSCA_S1 targets are not supported with IARARM, |
Anton Komlev | 78f6740 | 2021-10-22 11:33:20 +0100 | [diff] [blame] | 15 | due to lack of testing. |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 16 | |
Nik Dewally | ae923b1 | 2024-06-26 15:30:09 +0100 | [diff] [blame] | 17 | cmake needs to be version 3.21 or newer. |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 18 | |
| 19 | The V8M IAR CMSIS_5 RTX libraries in CMSIS_5 5.5.0 has a problem and has been updated in |
Kevin Peng | 6710c82 | 2020-05-21 16:52:14 +0800 | [diff] [blame] | 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. |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 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 | |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 26 | Example: building TF-M for AN521 platform using IAR: |
| 27 | ==================================================== |
Joakim Andersson | aca307c | 2023-11-24 13:56:55 +0100 | [diff] [blame] | 28 | |
TTornblom | befd3ca | 2020-04-30 11:09:08 +0200 | [diff] [blame] | 29 | .. code-block:: bash |
| 30 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame] | 31 | cd <TF-M base folder> |
Summer Qin | 2de23d0 | 2021-05-14 13:44:14 +0800 | [diff] [blame] | 32 | cmake -S . -B cmake_build -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=toolchain_IARARM.cmake |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 33 | cmake --build cmake_build -- install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 34 | |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 35 | Alternately using traditional cmake syntax |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 36 | |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 37 | .. code-block:: bash |
| 38 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame] | 39 | cd <TF-M base folder> |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 40 | mkdir cmake_build |
| 41 | cd cmake_build |
Summer Qin | 2de23d0 | 2021-05-14 13:44:14 +0800 | [diff] [blame] | 42 | cmake .. -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_IARARM.cmake |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 43 | make install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 44 | |
| 45 | Regression Tests for the AN521 target platform |
| 46 | ============================================== |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 47 | |
| 48 | .. code-block:: bash |
| 49 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame] | 50 | cd <TF-M base folder> |
Summer Qin | 2de23d0 | 2021-05-14 13:44:14 +0800 | [diff] [blame] | 51 | cmake -S . -B cmake_build -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=toolchain_IARARM.cmake -DTEST_S=ON -DTEST_NS=ON |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 52 | cmake --build cmake_build -- install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 53 | |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 54 | Alternately using traditional cmake syntax |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 55 | |
| 56 | .. code-block:: bash |
| 57 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame] | 58 | cd <TF-M base folder> |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 59 | mkdir cmake_build |
| 60 | cd cmake_build |
Summer Qin | 2de23d0 | 2021-05-14 13:44:14 +0800 | [diff] [blame] | 61 | cmake .. -DTFM_PLATFORM=arm/mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_IARARM.cmake -DTEST_S=ON -DTEST_NS=ON |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 62 | make install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 63 | |
Joakim Andersson | aca307c | 2023-11-24 13:56:55 +0100 | [diff] [blame] | 64 | *Copyright (c) 2020-2021, Arm Limited. All rights reserved.* |