Add Arm China STAR-MC3 port support (#1363)

* Add Arm China STAR-MC3 port support:
Fix corresponding issue #1359

* Optimize for STAR-MC3 Code Reviw:
1 Rename form STAR_MC3 to ARM_STAR_MC3
2 Modify kernel_checker.py to pass license check

* Fix left issue of STAR-MC3 Code Review

* Rename STAR_MC3 to ARM_STAR_MC3 for portable/ARMv8M/ directory

---------

Co-authored-by: Kody Stribrny <89810515+kstribrnAmzn@users.noreply.github.com>
This commit is contained in:
Armchina_JidongMei 2026-02-21 02:33:34 +08:00 committed by GitHub
parent 6cd736cfeb
commit 850d29477c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
51 changed files with 24187 additions and 96 deletions

View file

@ -2,8 +2,8 @@
This port adds the support that FreeRTOS applications can call the secure
services in Trusted Firmware M(TF-M) through Platform Security Architecture
(PSA) API based on the ARM Cortex-M23, Cortex-M33, Cortex-M52, Cortex-M55
and Cortex-M85 platform.
(PSA) API based on the ARM Cortex-M23, Cortex-M33, Cortex-M52, Cortex-M55
Cortex-M85 and Arm China STAR-MC3 platform.
The Platform Security Architecture (PSA) makes it quicker, easier and cheaper
to design security into a device from the ground up. PSA is made up of four key
@ -38,7 +38,7 @@ _**Note:** `TFM_NS_MANAGE_NSID` must be configured as "OFF" when building TF-M_.
## Build the Non-Secure Side
Please copy all the files in `freertos_kernel/portable/GCC/ARM_CM[23|33|52|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.
Please copy all the files in `freertos_kernel/portable/GCC/ARM_[CM23|CM33|CM52|CM55|CM85|STAR_MC3]_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.
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.
@ -57,7 +57,7 @@ Please refer to [TF-M documentation](https://trustedfirmware-m.readthedocs.io/en
* `configENABLE_MVE`
The setting of this macro is decided by the setting in Secure Side which is platform-specific.
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.
Please note that only Cortex-M52, Cortex-M55 and Cortex-M85 support MVE.
Please note that only Cortex-M52, Cortex-M55, Cortex-M85 and STAR-MC3 support MVE.
Please refer to [TF-M documentation](https://trustedfirmware-m.readthedocs.io/en/latest/integration_guide/tfm_fpu_support.html) for MVE usage on the Non-Secure side.
* `configENABLE_TRUSTZONE`