@@ -14,41 +14,57 @@ project(tfm_ns LANGUAGES ASM C)
1414# anything loaded from or declared in this dir.
1515if (TFM_MULTI_CORE_TOPOLOGY)
1616 include (${CMAKE_SOURCE_DIR} /platform/ext /target /${TFM_PLATFORM} /preload_ns.cmake)
17+ tfm_toolchain_reload_compiler()
1718endif ()
1819
1920############################# PSA test integration #############################
2021
21- if (TEST_PSA_API)
22- set (SUITE ${TEST_PSA_API} )
22+ if (TEST_PSA_API AND NOT PSA_ARCH_TESTS_BINARY_PATH)
23+ if (NOT SUITE)
24+ set (SUITE ${TEST_PSA_API} )
25+ endif ()
2326
2427 string (REGEX REPLACE ".*/" "" PSA_API_TEST_TARGET ${TFM_PLATFORM} )
2528
26- if (NOT "${TEST_PSA_API} " STREQUAL "IPC" )
27- set (TARGET tgt_dev_apis_tfm_${PSA_API_TEST_TARGET} )
28- else ()
29- set (TARGET tgt_ff_tfm_${PSA_API_TEST_TARGET} )
29+ if (NOT TARGET )
30+ if (NOT "${TEST_PSA_API} " STREQUAL "IPC" )
31+ set (TARGET tgt_dev_apis_tfm_${PSA_API_TEST_TARGET} )
32+ else ()
33+ set (TARGET tgt_ff_tfm_${PSA_API_TEST_TARGET} )
34+ endif ()
3035 endif ()
3136
32- set (PSA_INCLUDE_PATHS ${CMAKE_SOURCE_DIR} /interface /include /
33- ${PSA_ARCH_TESTS_PATH} /api-tests/platform/manifests/
34- ${CMAKE_BINARY_DIR} /generated /interface /include
35- )
3637
37- set (SP_HEAP_MEM_SUPP=0)
38- set (PLATFORM_PSA_ISOLATION_LEVEL ${TFM_ISOLATION_LEVEL} )
38+ if (NOT PSA_INCLUDE_PATHS)
39+ set (PSA_INCLUDE_PATHS ${CMAKE_SOURCE_DIR} /interface /include /
40+ ${CMAKE_BINARY_DIR} /generated /api-tests/platform/manifests/
41+ ${CMAKE_BINARY_DIR} /generated /interface /include
42+ )
43+ endif ()
44+
45+ if (NOT SP_HEAP_MEM_SUPP)
46+ set (SP_HEAP_MEM_SUPP 0)
47+ endif ()
48+ if (NOT PLATFORM_PSA_ISOLATION_LEVEL)
49+ set (PLATFORM_PSA_ISOLATION_LEVEL ${TFM_ISOLATION_LEVEL} )
50+ endif ()
3951
40- if (${CMAKE_C_COMPILER_ID} STREQUAL GNU)
41- set (TOOLCHAIN GNUARM)
42- elseif (${CMAKE_C_COMPILER_ID} STREQUAL ARMClang)
43- set (TOOLCHAIN ARMCLANG)
52+ if (NOT TOOLCHAIN)
53+ if (${CMAKE_C_COMPILER_ID} STREQUAL GNU)
54+ set (TOOLCHAIN GNUARM)
55+ elseif (${CMAKE_C_COMPILER_ID} STREQUAL ARMClang)
56+ set (TOOLCHAIN ARMCLANG)
57+ endif ()
4458 endif ()
4559
46- if (${CMAKE_SYSTEM_ARCHITECTURE} STREQUAL armv8-m.main)
47- set (CPU_ARCH armv8m_ml)
48- elseif (${CMAKE_SYSTEM_ARCHITECTURE} STREQUAL armv8-m.base)
49- set (CPU_ARCH armv8m_bl)
50- elseif (${CMAKE_SYSTEM_ARCHITECTURE} STREQUAL armv7-m)
51- set (CPU_ARCH armv7m)
60+ if (NOT CPU_ARCH)
61+ if (${CMAKE_SYSTEM_ARCHITECTURE} STREQUAL armv8-m.main)
62+ set (CPU_ARCH armv8m_ml)
63+ elseif (${CMAKE_SYSTEM_ARCHITECTURE} STREQUAL armv8-m.base)
64+ set (CPU_ARCH armv8m_bl)
65+ elseif (${CMAKE_SYSTEM_ARCHITECTURE} STREQUAL armv7-m)
66+ set (CPU_ARCH armv7m)
67+ endif ()
5268 endif ()
5369
5470 add_subdirectory (${PSA_ARCH_TESTS_PATH} /api-tests ${CMAKE_CURRENT_BINARY_DIR} /psa_api_tests)
@@ -74,7 +90,6 @@ target_link_libraries(tfm_ns_integration_test
7490 tfm_test_framework
7591 PRIVATE
7692 psa_interface
77- $<TARGET_PROPERTY:platform_ns,PLATFORM_RTX_LIB_PATH>
7893 psa_api_ns
7994 CMSIS_5_tfm_ns
8095)
@@ -105,6 +120,7 @@ target_link_libraries(tfm_ns
105120 $<$<BOOL :${TEST_PSA_API} >:test_combine>
106121 $<$<NOT :$<BOOL :${TFM_MULTI_CORE_TOPOLOGY} >>:tfm_s_veneers>
107122 psa_api_ns
123+ tfm_ns_log
108124)
109125
110126target_compile_definitions (tfm_ns
@@ -121,6 +137,7 @@ target_link_options(tfm_ns
121137 PRIVATE
122138 $<$<C_COMPILER_ID:GNU>:-Wl,-Map=${CMAKE_BINARY_DIR} /bin/tfm_ns.map>
123139 $<$<C_COMPILER_ID:ARMClang>:--map>
140+ $<$<C_COMPILER_ID:IAR>:--map\;${CMAKE_BINARY_DIR} /bin/tfm_ns.map>
124141)
125142
126143add_convert_to_bin_target(tfm_ns)
0 commit comments