Build: Improve handling of CMSIS RTX lib
Also add necessary platform files for the core testsuite
Change-Id: Ibfa4ba5f8c0beeca1f333f5be87c8ce8a0910ec9
Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/config/config_default.cmake b/config/config_default.cmake
index e5ad040..31d1ad0 100644
--- a/config/config_default.cmake
+++ b/config/config_default.cmake
@@ -106,6 +106,8 @@
################################## Tests #######################################
+set(TFM_INTERACTIVE_TEST OFF CACHE BOOL "Enable interactive tests")
+
set(TFM_CRYPTO_TEST_ALG_CBC ON CACHE BOOL "Test CBC cryptography mode")
set(TFM_CRYPTO_TEST_ALG_CCM ON CACHE BOOL "Test CCM cryptography mode")
set(TFM_CRYPTO_TEST_ALG_CFB ON CACHE BOOL "Test CFB cryptography mode")
diff --git a/lib/ext/CMSIS_5/CMakeLists.txt b/lib/ext/CMSIS_5/CMakeLists.txt
new file mode 100644
index 0000000..6c5167d
--- /dev/null
+++ b/lib/ext/CMSIS_5/CMakeLists.txt
@@ -0,0 +1,37 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_library(CMSIS_5_RTX_V8MMN STATIC IMPORTED GLOBAL)
+add_library(CMSIS_5_RTX_V8MBN STATIC IMPORTED GLOBAL)
+add_library(CMSIS_5_RTX_CM3 STATIC IMPORTED GLOBAL)
+
+if ("${CMAKE_C_COMPILER_ID}" STREQUAL GNU)
+ set_target_properties(CMSIS_5_RTX_V8MMN PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a)
+ set_target_properties(CMSIS_5_RTX_V8MBN PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a)
+ set_target_properties(CMSIS_5_RTX_CM3 PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_CM3.a)
+elseif("${CMAKE_C_COMPILER_ID}" STREQUAL ARMClang)
+ set_target_properties(CMSIS_5_RTX_V8MMN PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib)
+ set_target_properties(CMSIS_5_RTX_V8MBN PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib)
+ set_target_properties(CMSIS_5_RTX_CM3 PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_CM3.lib)
+elseif("${CMAKE_C_COMPILER_ID}" STREQUAL IAR)
+ set_target_properties(CMSIS_5_RTX_V8MMN PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/libRTX_V8MMN.a)
+ set_target_properties(CMSIS_5_RTX_V8MBN PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/libRTX_V8MBN.a)
+ set_target_properties(CMSIS_5_RTX_CM3 PROPERTIES IMPORTED_LOCATION ${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/libRTX_CM3.a)
+else()
+ message(FATAL_ERROR "${CMAKE_C_COMPILER_ID} does not have CMSIS RTX static libraries set up")
+endif()
+
+target_link_libraries(CMSIS_5_RTX_V8MMN
+ INTERFACE
+ tfm_s_veneers
+)
+
+target_link_libraries(CMSIS_5_RTX_V8MBN
+ INTERFACE
+ tfm_s_veneers
+)
+
diff --git a/lib/ext/CMakeLists.txt b/lib/ext/CMakeLists.txt
index 25277d7..ced2557 100644
--- a/lib/ext/CMakeLists.txt
+++ b/lib/ext/CMakeLists.txt
@@ -10,6 +10,7 @@
add_subdirectory(t_cose)
add_subdirectory(mbedcrypto)
add_subdirectory(tf-m-tests)
+add_subdirectory(CMSIS_5)
if(BL2)
add_subdirectory(mcuboot)
endif()
diff --git a/platform/CMakeLists.txt b/platform/CMakeLists.txt
index de11459..1f63404 100644
--- a/platform/CMakeLists.txt
+++ b/platform/CMakeLists.txt
@@ -85,6 +85,7 @@
target_link_libraries(platform_ns
PUBLIC
platform_region_defs
+ psa_interface
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/cypress/psoc64/CMakeLists.txt b/platform/ext/target/cypress/psoc64/CMakeLists.txt
index 8db6030..ad2adfa 100644
--- a/platform/ext/target/cypress/psoc64/CMakeLists.txt
+++ b/platform/ext/target/cypress/psoc64/CMakeLists.txt
@@ -48,11 +48,10 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/psoc6_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/iar/psoc6_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_CM3.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_CM3.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_CM3.a>
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ # CM4 without FP support uses CM3 libs
+ CMSIS_5_RTX_CM3
)
endif()
@@ -108,6 +107,9 @@
./nv_counters.c
./services/src/tfm_platform_system.c
./dummy_crypto_keys.c
+ ./Device/Source/device_definition.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_definitions(platform_s
@@ -165,6 +167,9 @@
./Native_Driver/generated_source/cycfg_system.c
./mailbox/platform_multicore.c
./CMSIS_Driver/Driver_USART.c
+ ./Device/Source/device_definition.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
diff --git a/platform/ext/target/mps2/an519/CMakeLists.txt b/platform/ext/target/mps2/an519/CMakeLists.txt
index 98686ff..af6b650 100644
--- a/platform/ext/target/mps2/an519/CMakeLists.txt
+++ b/platform/ext/target/mps2/an519/CMakeLists.txt
@@ -41,14 +41,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/gcc/mps2_an519_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/iar/mps2_an519_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MBN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MBN
)
endif()
@@ -97,8 +92,8 @@
native_drivers/ppc_sse200_drv.c
native_drivers/arm_uart_drv.c
native_drivers/timer_cmsdk/timer_cmsdk.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -117,18 +112,23 @@
target_sources(platform_ns
PRIVATE
native_drivers/arm_uart_drv.c
+ native_drivers/timer_cmsdk/timer_cmsdk.c
cmsis_drivers/Driver_USART.c
retarget/platform_retarget_dev.c
cmsis_core/system_cmsdk_mps2_an519.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
PUBLIC
.
+ ../common
${PLATFORM_DIR}/..
retarget
cmsis_core
native_drivers
+ native_drivers/timer_cmsdk
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/mps2/an521/CMakeLists.txt b/platform/ext/target/mps2/an521/CMakeLists.txt
index c434b2b..d827173 100644
--- a/platform/ext/target/mps2/an521/CMakeLists.txt
+++ b/platform/ext/target/mps2/an521/CMakeLists.txt
@@ -42,14 +42,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/gcc/mps2_an521_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/iar/mps2_an521_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MBN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MBN
)
endif()
@@ -98,8 +93,8 @@
native_drivers/ppc_sse200_drv.c
native_drivers/arm_uart_drv.c
native_drivers/timer_cmsdk/timer_cmsdk.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -118,18 +113,23 @@
target_sources(platform_ns
PRIVATE
native_drivers/arm_uart_drv.c
+ native_drivers/timer_cmsdk/timer_cmsdk.c
cmsis_drivers/Driver_USART.c
retarget/platform_retarget_dev.c
cmsis_core/system_cmsdk_mps2_an521.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
PUBLIC
.
+ ../common
${PLATFORM_DIR}/..
retarget
cmsis_core
native_drivers
+ native_drivers/timer_cmsdk
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/mps2/an539/CMakeLists.txt b/platform/ext/target/mps2/an539/CMakeLists.txt
index a4a450a..a25b28f 100644
--- a/platform/ext/target/mps2/an539/CMakeLists.txt
+++ b/platform/ext/target/mps2/an539/CMakeLists.txt
@@ -42,14 +42,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/gcc/an539_mps2_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/iar/an539_mps2_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MBN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MBN
)
endif()
@@ -100,10 +95,12 @@
native_drivers/mpu_armv8m_drv.c
native_drivers/ppc_sse123_drv.c
native_drivers/uart_cmsdk_drv.c
+ native_drivers/systimer_armv8-m_drv.c
+ native_drivers/syscounter_armv8-m_cntrl_drv.c
spm_hal.c
target_cfg.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -125,11 +122,16 @@
device/source/device_definition.c
native_drivers/uart_cmsdk_drv.c
cmsis_drivers/Driver_USART.c
+ native_drivers/systimer_armv8-m_drv.c
+ native_drivers/syscounter_armv8-m_cntrl_drv.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
PUBLIC
.
+ ../common
${PLATFORM_DIR}/..
device/include
device/config
diff --git a/platform/ext/target/mps2/fvp_sse300/CMakeLists.txt b/platform/ext/target/mps2/fvp_sse300/CMakeLists.txt
index 9a13356..b9407e1 100644
--- a/platform/ext/target/mps2/fvp_sse300/CMakeLists.txt
+++ b/platform/ext/target/mps2/fvp_sse300/CMakeLists.txt
@@ -46,14 +46,9 @@
# $<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/gcc/fvp_sse300_mps2_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/iar/fvp_sse300_mps2_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib>
- # $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
- tfm_spm
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MBN
)
endif()
@@ -105,8 +100,8 @@
native_drivers/mpu_armv8m_drv.c
cmsis_drivers/Driver_MPC.c
cmsis_drivers/Driver_SSE300_PPC.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_link_libraries(platform_s
@@ -129,17 +124,20 @@
target_sources(platform_ns
PRIVATE
- device/source/system_core_init.c
- device/source/device_definition.c
- native_drivers/uart_cmsdk_drv.c
- native_drivers/systimer_armv8-m_drv.c
- cmsis_drivers/Driver_USART.c
- cmsis_drivers/Driver_Flash.c
+ device/source/system_core_init.c
+ device/source/device_definition.c
+ native_drivers/uart_cmsdk_drv.c
+ native_drivers/systimer_armv8-m_drv.c
+ cmsis_drivers/Driver_USART.c
+ cmsis_drivers/Driver_Flash.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
PUBLIC
.
+ ../common
${PLATFORM_DIR}/..
cmsis_drivers
cmsis_drivers/config
@@ -148,6 +146,7 @@
device/include
device/source/armclang
native_drivers
+ native_drivers/timer_cmsdk
partition
services/src
native_drivers
diff --git a/platform/ext/target/mps2/sse-200_aws/CMakeLists.txt b/platform/ext/target/mps2/sse-200_aws/CMakeLists.txt
index 7725ecb..b77193c 100644
--- a/platform/ext/target/mps2/sse-200_aws/CMakeLists.txt
+++ b/platform/ext/target/mps2/sse-200_aws/CMakeLists.txt
@@ -42,14 +42,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/gcc/sse-200_aws_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/iar/sse-200_aws_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MBN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MBN
)
endif()
@@ -97,9 +92,9 @@
target_cfg.c
native_drivers/ppc_sse200_drv.c
native_drivers/uart_cmsdk_drv.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
native_drivers/timer_cmsdk/timer_cmsdk_drv.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -117,18 +112,23 @@
target_sources(platform_ns
PRIVATE
native_drivers/uart_cmsdk_drv.c
+ native_drivers/timer_cmsdk/timer_cmsdk_drv.c
cmsis_drivers/Driver_USART.c
retarget/platform_retarget_dev.c
cmsis_core/system_cmsdk_sse-200_aws.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
PUBLIC
.
+ ../common
${PLATFORM_DIR}/..
retarget
cmsis_core
native_drivers
+ native_drivers/timer_cmsdk
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/mps3/an524/CMakeLists.txt b/platform/ext/target/mps3/an524/CMakeLists.txt
index d24e29d..f56b0ed 100644
--- a/platform/ext/target/mps3/an524/CMakeLists.txt
+++ b/platform/ext/target/mps3/an524/CMakeLists.txt
@@ -42,14 +42,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/gcc/mps3_an524_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/iar/mps3_an524_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MBN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MBN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MBN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MBN
)
endif()
@@ -94,11 +89,12 @@
native_drivers/mpu_armv8m_drv.c
native_drivers/ppc_sse200_drv.c
native_drivers/uart_cmsdk_drv.c
+ native_drivers/timer_cmsdk_drv.c
spm_hal.c
target_cfg.c
native_drivers/ppc_sse200_drv.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -119,7 +115,10 @@
device/source/system_core_init.c
device/source/device_definition.c
native_drivers/uart_cmsdk_drv.c
+ native_drivers/timer_cmsdk_drv.c
cmsis_drivers/Driver_USART.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
diff --git a/platform/ext/target/musca_a/CMakeLists.txt b/platform/ext/target/musca_a/CMakeLists.txt
index 6b7ca6b..5d1f2f3 100644
--- a/platform/ext/target/musca_a/CMakeLists.txt
+++ b/platform/ext/target/musca_a/CMakeLists.txt
@@ -43,14 +43,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/musca_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/iar/musca_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MMN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MMN
)
endif()
@@ -101,8 +96,8 @@
Native_Driver/ppc_sse200_drv.c
Native_Driver/uart_pl011_drv.c
Native_Driver/timer_cmsdk_drv.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -121,10 +116,13 @@
target_sources(platform_ns
PRIVATE
Native_Driver/uart_pl011_drv.c
+ Native_Driver/timer_cmsdk_drv.c
Native_Driver/musca_a1_scc_drv.c
CMSIS_Driver/Driver_USART.c
Device/Source/system_core_init.c
Device/Source/device_definition.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
@@ -135,6 +133,7 @@
Device/Include
Native_Driver
Libraries
+ services/include
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/musca_b1/CMakeLists.txt b/platform/ext/target/musca_b1/CMakeLists.txt
index 06b3bf9..c71d50b 100644
--- a/platform/ext/target/musca_b1/CMakeLists.txt
+++ b/platform/ext/target/musca_b1/CMakeLists.txt
@@ -38,13 +38,9 @@
$<$<C_COMPILER_ID:ARMClang>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/armclang/musca_ns.sct>
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/musca_ns.ld>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MMN
)
endif()
@@ -96,8 +92,8 @@
Native_Driver/ppc_sse200_drv.c
Native_Driver/uart_pl011_drv.c
Native_Driver/timer_cmsdk_drv.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -116,10 +112,13 @@
target_sources(platform_ns
PRIVATE
Native_Driver/uart_pl011_drv.c
+ Native_Driver/timer_cmsdk_drv.c
CMSIS_Driver/Driver_USART.c
Device/Source/system_core_init.c
Native_Driver/musca_b1_scc_drv.c
Device/Source/device_definition.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
@@ -130,6 +129,7 @@
Device/Include
Native_Driver
Libraries
+ services/include
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/musca_s1/CMakeLists.txt b/platform/ext/target/musca_s1/CMakeLists.txt
index 1da5f6f..37d6236 100644
--- a/platform/ext/target/musca_s1/CMakeLists.txt
+++ b/platform/ext/target/musca_s1/CMakeLists.txt
@@ -38,13 +38,9 @@
$<$<C_COMPILER_ID:ARMClang>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/armclang/musca_ns.sct>
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/gcc/musca_ns.ld>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MMN
)
endif()
@@ -91,9 +87,9 @@
Native_Driver/cache_drv.c
spm_hal.c
target_cfg.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
Native_Driver/timer_cmsdk_drv.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -112,9 +108,12 @@
target_sources(platform_ns
PRIVATE
Native_Driver/uart_pl011_drv.c
+ Native_Driver/timer_cmsdk_drv.c
CMSIS_Driver/Driver_USART.c
Device/Source/system_core_init.c
Device/Source/device_definition.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
@@ -124,6 +123,7 @@
Device/Config
Device/Include
Native_Driver
+ services/include
)
#========================= Platform BL2 =======================================#
diff --git a/platform/ext/target/nxp/lpcxpresso55s69/CMakeLists.txt b/platform/ext/target/nxp/lpcxpresso55s69/CMakeLists.txt
index 9d1eb9f..eb61b86 100644
--- a/platform/ext/target/nxp/lpcxpresso55s69/CMakeLists.txt
+++ b/platform/ext/target/nxp/lpcxpresso55s69/CMakeLists.txt
@@ -37,13 +37,9 @@
$<$<C_COMPILER_ID:GNU>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/armgcc/LPC55S69_cm33_core0_ns.ld>
$<$<C_COMPILER_ID:IAR>:${CMAKE_CURRENT_SOURCE_DIR}/Device/Source/iar/LPC55S69_cm33_core0_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MMN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MMN
)
endif()
@@ -121,8 +117,8 @@
../common/Native_Driver/utilities/debug_console/fsl_debug_console.c
../common/Native_Driver/utilities/str/fsl_str.c
../lpcxpresso55s69/Native_Driver/system_LPC55S69_cm33_core0.c
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:TFM_PARTITION_PLATFORM>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_compile_options(platform_s
@@ -167,6 +163,8 @@
${PLATFORM_DIR}/ext/target/nxp/common/Native_Driver/utilities/fsl_sbrk.c
${PLATFORM_DIR}/ext/target/nxp/common/Native_Driver/utilities/debug_console/fsl_debug_console.c
${PLATFORM_DIR}/ext/target/nxp/common/Native_Driver/utilities/str/fsl_str.c
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
)
target_include_directories(platform_ns
diff --git a/platform/ext/target/stm/common/stm32l5xx/CMakeLists.txt b/platform/ext/target/stm/common/stm32l5xx/CMakeLists.txt
index 175e55f..947e270 100644
--- a/platform/ext/target/stm/common/stm32l5xx/CMakeLists.txt
+++ b/platform/ext/target/stm/common/stm32l5xx/CMakeLists.txt
@@ -34,14 +34,9 @@
$<$<C_COMPILER_ID:ARMClang>:${STM_COMMON_DIR}/stm32l5xx/Device/Source/armclang/stm32l5xx_ns.sct>
$<$<C_COMPILER_ID:IAR>:${STM_COMMON_DIR}/stm32l5xx/Device/Source/iar/stm32l5xx_ns.icf>
)
- target_link_libraries(tfm_ns
- PRIVATE
- $<$<C_COMPILER_ID:ARMClang>:${CMSIS_5_PATH}/RTOS2/RTX/Library/ARM/RTX_V8MMN.lib>
- $<$<C_COMPILER_ID:GNU>:${CMSIS_5_PATH}/RTOS2/RTX/Library/GCC/libRTX_V8MMN.a>
- $<$<C_COMPILER_ID:IAR>:${CMSIS_5_PATH}/RTOS2/RTX/Library/IAR/RTX_V8MMN.a>
- # These libraries require linking to the veneers, so the veneers are
- # marked again here as a link dependency to get the ordering right
- tfm_s_veneers
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ CMSIS_5_RTX_V8MMN
)
endif()