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 | |
TTornblom | befd3ca | 2020-04-30 11:09:08 +0200 | [diff] [blame] | 12 | IAR Embedded Workbench for ARM (EWARM) versions 8.42 or later are required. |
| 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, |
Mark Horvath | 9a5a9b9 | 2019-11-29 15:57:55 +0100 | [diff] [blame] | 15 | due to lack of testing. The FVP_SSE300_MPS2 target is currently not supported by IARARM. |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 16 | |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 17 | cmake needs to be version 3.14 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 |
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 | ==================================================== |
TTornblom | befd3ca | 2020-04-30 11:09:08 +0200 | [diff] [blame] | 28 | .. code-block:: bash |
| 29 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame^] | 30 | cd <TF-M base folder> |
Raef Coles | 6981732 | 2020-10-19 14:14:14 +0100 | [diff] [blame] | 31 | cmake -S . -B cmake_build -DTFM_PLATFORM=mps2/an521 -DTFM_TOOLCHAIN_FILE=toolchain_IARARM.cmake |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 32 | cmake --build cmake_build -- install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 33 | |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 34 | Alternately using traditional cmake syntax |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 35 | |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 36 | .. code-block:: bash |
| 37 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame^] | 38 | cd <TF-M base folder> |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 39 | mkdir cmake_build |
| 40 | cd cmake_build |
Raef Coles | 6981732 | 2020-10-19 14:14:14 +0100 | [diff] [blame] | 41 | cmake .. -DTFM_PLATFORM=mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_IARARM.cmake |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 42 | make install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 43 | |
| 44 | Regression Tests for the AN521 target platform |
| 45 | ============================================== |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 46 | |
| 47 | .. code-block:: bash |
| 48 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame^] | 49 | cd <TF-M base folder> |
Raef Coles | 6981732 | 2020-10-19 14:14:14 +0100 | [diff] [blame] | 50 | cmake -S . -B cmake_build -DTFM_PLATFORM=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] | 51 | cmake --build cmake_build -- install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 52 | |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 53 | Alternately using traditional cmake syntax |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 54 | |
| 55 | .. code-block:: bash |
| 56 | |
Leonardo Sandoval | 9835014 | 2021-02-03 16:32:14 -0600 | [diff] [blame^] | 57 | cd <TF-M base folder> |
Anton Komlev | b8e3af0 | 2020-08-28 10:23:57 +0100 | [diff] [blame] | 58 | mkdir cmake_build |
| 59 | cd cmake_build |
Raef Coles | 6981732 | 2020-10-19 14:14:14 +0100 | [diff] [blame] | 60 | cmake .. -DTFM_PLATFORM=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] | 61 | make install |
TTornblom | b9e5ed0 | 2020-02-13 16:53:15 +0100 | [diff] [blame] | 62 | |
Minos Galanakis | dfefe25 | 2021-03-11 10:49:58 +0000 | [diff] [blame] | 63 | *Copyright (c) 2020-2021, Arm Limited. All rights reserved.* |