Skip to content

Commit fea3b9a

Browse files
committed
trusted-firmware-m: Generate tfm_merged.bin
When CONFIG_TFM_MCUBOOT_IMAGE_NUMBER is 1, all images are merged. Currently, there is no tfm_merged.bin file for use in FOTA. This adds file generation to fulfill that requirement. Signed-off-by: BUDKE Gerson Fernando <[email protected]>
1 parent bfecfb9 commit fea3b9a

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

modules/trusted-firmware-m/CMakeLists.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,8 +567,11 @@ if (CONFIG_BUILD_WITH_TFM)
567567
endfunction()
568568

569569
set(MERGED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_merged.hex)
570+
set(MERGED_BIN_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_merged.bin)
570571
set(S_NS_CONFIRMED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_confirmed.hex)
571572
set(S_NS_SIGNED_CONFIRMED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_confirmed_signed.hex)
573+
set(S_NS_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns.hex)
574+
set(S_NS_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_signed.hex)
572575
set(NS_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/zephyr_ns_signed.hex)
573576
set(S_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_signed.hex)
574577
set(NS_SIGNED_BIN_FILE ${CMAKE_BINARY_DIR}/zephyr/zephyr_ns_signed.bin)
@@ -601,6 +604,9 @@ if (CONFIG_BUILD_WITH_TFM)
601604
tfm_sign(sign_cmd_s_ns_confirm_hex SUFFIX "S_NS"
602605
HEADER TRAILER CONFIRM MAX_SECTORS ${S_NS_MAX_SECTORS}
603606
INPUT_FILE ${S_NS_CONFIRMED_HEX_FILE} OUTPUT_FILE ${S_NS_SIGNED_CONFIRMED_HEX_FILE})
607+
tfm_sign(sign_cmd_s_ns_hex SUFFIX "S_NS"
608+
HEADER TRAILER MAX_SECTORS ${S_NS_MAX_SECTORS}
609+
INPUT_FILE ${S_NS_HEX_FILE} OUTPUT_FILE ${S_NS_SIGNED_HEX_FILE})
604610

605611
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
606612
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
@@ -617,10 +623,28 @@ if (CONFIG_BUILD_WITH_TFM)
617623
${S_NS_SIGNED_CONFIRMED_HEX_FILE}
618624
)
619625

626+
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
627+
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
628+
-o ${S_NS_HEX_FILE}
629+
$<TARGET_PROPERTY:tfm,TFM_S_HEX_FILE>
630+
${NS_HEX_APP_FILE}
631+
632+
COMMAND ${sign_cmd_s_ns_hex}
633+
634+
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
635+
-o ${MERGED_BIN_FILE} --output-bin
636+
$<$<BOOL:${CONFIG_TFM_BL1}>:$<TARGET_PROPERTY:tfm,BL2_SIGNED_HEX_FILE>>
637+
$<$<NOT:$<BOOL:${CONFIG_TFM_BL1}>>:$<TARGET_PROPERTY:tfm,BL2_HEX_FILE>>
638+
${S_NS_SIGNED_HEX_FILE}
639+
)
640+
620641
set_property(GLOBAL APPEND PROPERTY extra_post_build_byproducts
621642
${S_NS_CONFIRMED_HEX_FILE}
622643
${S_NS_SIGNED_CONFIRMED_HEX_FILE}
644+
${S_NS_HEX_FILE}
645+
${S_NS_SIGNED_HEX_FILE}
623646
${MERGED_HEX_FILE}
647+
${MERGED_BIN_FILE}
624648
)
625649

626650
else()

0 commit comments

Comments
 (0)