mirror of https://github.com/ARMmbed/mbed-os.git
1. Configure non-secure target name to NU_M2354 (targets/targets.json). No NU_M2354_NS alias 2. Following template target, enable image signing and concatenating in post-build process (1) Add post-build script (tools/targets). (2) Enable TF-M custom build by centralize relevant stuff imported from TF-M (COMPONENT_TFM_S_FW). 3. Add M2354Code.merge_secure into whitelist of uvision6 (tools/export/uvision/__init__.py). 4. Add M2354 CMSIS pack database (tools/arm_pack_manager/index.json). 5. Configure stdio baudrate to 115200 to match TF-M port (platform/mbed_lib.json). 6. Define CMSIS_NVIC_VIRTUAL to override NVIC_SystemReset with TF-M version (cmsis_nvic_virtual.h). 7. Override tfm_ns_interface_xxx(...) to enable NS secure call: (1) At pre-rtos stage (2) In SVC context 8. Implement secure function call with tfm_platform_ioctl(...). 9. Combine stddriver_secure.h/c and hal_secure.h/c into platform_extra_secure.h/c. 10. Fix peripheral base to non-secure (PeripheralNames.h) (TrustZone-unaware since Mbed OS 6.0). 11. Fix NU_PORT_BASE/NU_GET_GPIO_PIN_DATA/NU_SET_GPIO_PIN_DATA to non-secure (PinNamesCommon.h) (TrustZone-unaware since Mbed OS 6.0). 12. NSC convention for StdDriver sys/clk (both TF-M and Mbed must follow) (1) SYS_ResetModule Usage: Replaced with SYS_ResetModule_S on Mbed OS Action: Make it inaccessible from Mbed (neither source nor NSC). Provide SYS_ResetModule_S on Mbed via platform ioctl instead. (2) CLK_GetXxx Usage: Called in bpwm/i2s/qspi/sc/sdh and system_M2354 on Mbed OS Action: Make them inaccessible from Mbed (neither source nor NSC). Re-provide them on Mbed via platform ioctl instead. 13. Remove DISABLE/ENABLE macro definitions in BSP to avoid name conflict with other modules 14. Change to TMR4/5 from TMR2/3 for implementing us_ticker/lp_ticker because TMR2 is used for TF-M NSPE test 15. Support cmake NOTE: Export(uvision6) doesn't support TF-M target. To enable it for partial compile on Keil, force below function to return true. is_target_supported(tools/export/uvision/__init__.py) |
||
---|---|---|
.. | ||
__init__.py | ||
debug_init.ini | ||
export_info.tmpl | ||
flash_init.ini | ||
postbuild.py | ||
uvision.tmpl | ||
uvision_debug.tmpl |