You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `portable/ThirdParty/GCC/ARM_TFM/README.md` and
`portable/ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c` are updated to
support `TF-Mv2.0.0` of trusted-firmware-m release.
Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com>
Copy file name to clipboardExpand all lines: portable/ThirdParty/GCC/ARM_TFM/README.md
+19-19Lines changed: 19 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -7,16 +7,17 @@ platform.
7
7
8
8
The Platform Security Architecture (PSA) makes it quicker, easier and cheaper
9
9
to design security into a device from the ground up. PSA is made up of four key
10
-
stages: analyze, architect, implement, and certify. See [PSA Resource Page](https://developer.arm.com/architectures/security-architectures/platform-security-architecture).
10
+
stages: analyze, architect, implement, and certify. See [PSA Resource Page](https://www.arm.com/architecture/security-features/platform-security).
11
11
12
12
TF-M is an open source project. It provides a reference implementation of PSA
13
-
for Arm M-profile architecture. Please get the details from this [link](https://www.trustedfirmware.org/about/).
13
+
for Arm M-profile architecture. Please get the details from this [link](https://www.trustedfirmware.org/projects/tf-m/).
14
14
15
15
# Derivation of the source code
16
16
17
-
*```os_wrapper_freertos.c```
18
-
The implementation of APIs which are defined in ```\ns_interface\os_wrapper\mutex.h``` by tf-m-tests
19
-
(tag: TF-Mv1.5.0 & TF-Mv1.6.0). The implementation is based on FreeRTOS mutex type semaphore.
17
+
*`os_wrapper_freertos.c`
18
+
The implementation of APIs which are defined in `/interface/include/os_wrapper/mutex.h`
19
+
in trusted-firmware-m (tag: TF-Mv2.0.0). The implementation is based on
20
+
FreeRTOS mutex type semaphore.
20
21
21
22
# Usage notes
22
23
@@ -28,53 +29,52 @@ To build a project based on this port:
28
29
29
30
### Get the TF-M source code
30
31
31
-
See the [link](https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/) to get the source code. This port is supported by TF-M version **tag: TF-Mv1.5.0** & **tag: TF-Mv1.6.0**.
32
+
See the [link](https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/) to get the source code. This port is supported by TF-M version **tag: TF-Mv2.0.0**.
32
33
33
34
### Build TF-M
34
35
35
-
Please refer to this [link](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/tfm/building/tfm_build_instruction.html) to build the secure side.
36
-
_**Note:**```TFM_NS_MANAGE_NSID``` must be configured as "OFF" when building TF-M_.
36
+
Please refer to this [link](https://trustedfirmware-m.readthedocs.io/en/latest/getting_started/) to build the secure side.
37
+
_**Note:**`TFM_NS_MANAGE_NSID` must be configured as "OFF" when building TF-M_.
37
38
38
39
## Build the Non-Secure Side
39
40
40
-
Please copy all the files in ```freertos_kernel\portable\GCC\ARM_CM[23|33|55|85]_NTZ``` into the ```freertos_kernel\portable\ThirdParty\GCC\ARM_TFM``` folder before using this port. Note that TrustZone is enabled in this port. The TF-M runs in the Secure Side.
41
+
Please copy all the files in `freertos_kernel/portable/GCC/ARM_CM[23|33|55|85]_NTZ` into the `freertos_kernel/portable/ThirdParty/GCC/ARM_TFM` folder before using this port. Note that TrustZone is enabled in this port. The TF-M runs in the Secure Side.
41
42
42
-
Please call the API ```tfm_ns_interface_init()``` which is defined in ```\app\tfm_ns_interface.c``` by tf-m-tests
43
-
(tag: TF-Mv1.5.0 & TF-Mv1.6.0) at the very beginning of your application. Otherwise, it will always fail when calling a TF-M service in the Nonsecure Side.
43
+
Please call the API `tfm_ns_interface_init()` which is defined in `/interface/src/os_wrapper/tfm_ns_interface_rtos.c` by trusted-firmware-m (tag: TF-Mv2.0.0) at the very beginning of your application. Otherwise, it will always fail when calling a TF-M service in the Nonsecure Side.
44
44
45
45
### Configuration in FreeRTOS kernel
46
46
47
-
*```configRUN_FREERTOS_SECURE_ONLY```
47
+
*`configRUN_FREERTOS_SECURE_ONLY`
48
48
This macro should be configured as 0. In this port, TF-M runs in the Secure Side while FreeRTOS
49
49
Kernel runs in the Non-Secure Side.
50
50
51
-
*```configENABLE_FPU```
51
+
*`configENABLE_FPU`
52
52
The setting of this macro is decided by the setting in Secure Side which is platform-specific.
53
53
If the Secure Side enables Non-Secure access to FPU, then this macro can be configured as 0 or 1. Otherwise, this macro can only be configured as 0.
54
54
Please note that Cortex-M23 does not support FPU.
55
55
Please refer to [TF-M documentation](https://tf-m-user-guide.trustedfirmware.org/integration_guide/tfm_fpu_support.html) for FPU usage on the Non-Secure side.
56
56
57
-
*```configENABLE_MVE```
57
+
*`configENABLE_MVE`
58
58
The setting of this macro is decided by the setting in Secure Side which is platform-specific.
59
59
If the Secure Side enables Non-Secure access to MVE, then this macro can be configured as 0 or 1. Otherwise, this macro can only be configured as 0.
60
60
Please note that only Cortex-M55 and Cortex-M85 support MVE.
61
61
Please refer to [TF-M documentation](https://tf-m-user-guide.trustedfirmware.org/integration_guide/tfm_fpu_support.html) for MVE usage on the Non-Secure side.
62
62
63
-
*```configENABLE_TRUSTZONE```
63
+
*`configENABLE_TRUSTZONE`
64
64
This macro should be configured as 0 because TF-M doesn't use the secure context management function of FreeRTOS. New secure context management might be introduced when TF-M supports multiple secure context.
65
65
66
66
67
67
### Integrate TF-M Non-Secure interface with FreeRTOS project
68
68
69
69
To enable calling TF-M services by the Non-Secure Side, the files below should be included in the FreeRTOS project and built together.
70
-
* files in ```trusted-firmware-m\build\install\interface\src```
70
+
* files in `trusted-firmware-m/build/api_ns/interface/src`
71
71
These files contain the implementation of PSA Functional Developer APIs which can be called by Non-Secure Side directly and PSA Firmware Framework APIs in the IPC model. These files should be taken as part of the Non-Secure source code.
72
-
* files in ```trusted-firmware-m\build\install\interface\include```
72
+
* files in `trusted-firmware-m/build/api_ns/interface/include`
73
73
These files are the necessary header files to call TF-M services.
0 commit comments