@@ -68,13 +68,31 @@ function(trusted_firmware_build)
6868 set (PSA_API_NS_PATH ${TFM_BINARY_DIR} /interface /libpsa_api_ns.a)
6969 set (TFM_GENERATED_INCLUDES ${TFM_BINARY_DIR} /generated /interface /include )
7070
71- set (BL2_HEX_FILE ${CMAKE_BINARY_DIR} /tfm/bin/bl2.hex)
71+ if (TFM_BL2)
72+ set (BL2_BIN_FILE ${TFM_BINARY_DIR} /bin/bl2.bin)
73+ set (BL2_HEX_FILE ${TFM_BINARY_DIR} /bin/bl2.hex)
74+ endif ()
75+ set (TFM_S_BIN_FILE ${TFM_BINARY_DIR} /bin/tfm_s.bin)
76+ set (TFM_S_HEX_FILE ${TFM_BINARY_DIR} /bin/tfm_s.hex)
77+ set (TFM_NS_BIN_FILE ${TFM_BINARY_DIR} /bin/tfm_ns.bin)
78+ set (TFM_NS_HEX_FILE ${TFM_BINARY_DIR} /bin/tfm_ns.hex)
79+ set (TFM_S_SIGNED_BIN_FILE ${TFM_BINARY_DIR} /bin/tfm_s_signed.bin)
80+ set (TFM_NS_SIGNED_BIN_FILE ${TFM_BINARY_DIR} /bin/tfm_ns_signed.bin)
81+ set (TFM_S_NS_SIGNED_BIN_FILE ${TFM_BINARY_DIR} /bin/tfm_s_ns_signed.bin)
7282
7383 set (BUILD_BYPRODUCTS
7484 ${VENEERS_FILE}
7585 ${PSA_API_NS_PATH}
76- ${BL2_HEX_FILE}
7786 ${TFM_GENERATED_INCLUDES} /psa_manifest/sid.h
87+ ${BL2_BIN_FILE}
88+ ${BL2_HEX_FILE}
89+ ${TFM_S_BIN_FILE}
90+ ${TFM_S_HEX_FILE}
91+ ${TFM_NS_BIN_FILE}
92+ ${TFM_NS_HEX_FILE}
93+ ${TFM_S_SIGNED_BIN_FILE}
94+ ${TFM_NS_SIGNED_BIN_FILE}
95+ ${TFM_S_NS_SIGNED_BIN_FILE}
7896 )
7997
8098 # Get the toolchain variant
@@ -115,6 +133,29 @@ function(trusted_firmware_build)
115133 BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS}
116134 )
117135
136+ # Set BL2 (MCUboot) executable file paths as target properties on 'tfm'
137+ # These files are produced by the TFM build system.
138+ if (TFM_BL2)
139+ set_target_properties (tfm PROPERTIES
140+ BL2_BIN_FILE ${BL2_BIN_FILE}
141+ BL2_HEX_FILE ${BL2_HEX_FILE}
142+ )
143+ endif ()
144+
145+ # Set TFM S/NS executable file paths as target properties on 'tfm'
146+ # These files are produced by the TFM build system.
147+ # Note that the Nonsecure FW is replaced by the Zephyr app in regular Zephyr
148+ # builds.
149+ set_target_properties (tfm PROPERTIES
150+ TFM_S_BIN_FILE ${TFM_S_BIN_FILE} # TFM Secure FW (unsigned)
151+ TFM_S_HEX_FILE ${TFM_S_HEX_FILE} # TFM Secure FW (unsigned)
152+ TFM_NS_BIN_FILE ${TFM_NS_BIN_FILE} # TFM Nonsecure FW (unsigned)
153+ TFM_NS_HEX_FILE ${TFM_NS_HEX_FILE} # TFM Nonsecure FW (unsigned)
154+ TFM_S_SIGNED_BIN_FILE ${TFM_S_SIGNED_BIN_FILE} # TFM Secure FW (signed)
155+ TFM_NS_SIGNED_BIN_FILE ${TFM_NS_SIGNED_BIN_FILE} # TFM Nonsecure FW (signed)
156+ TFM_S_NS_SIGNED_BIN_FILE ${TFM_S_NS_SIGNED_BIN_FILE} # Merged TFM Secure/Nonsecure FW (signed)
157+ )
158+
118159 add_library (tfm_api
119160 ${ZEPHYR_TFM_MODULE_DIR} /tf-m-tests/app/os_wrapper_cmsis_rtos_v2.c
120161 )
0 commit comments