Skip to content

Commit bbc73af

Browse files
nandojvecfriedt
authored andcommitted
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 <gerson.budke@leica-geosystems.com>
1 parent d1534c5 commit bbc73af

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
@@ -564,8 +564,11 @@ if (CONFIG_BUILD_WITH_TFM)
564564
endfunction()
565565

566566
set(MERGED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_merged.hex)
567+
set(MERGED_BIN_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_merged.bin)
567568
set(S_NS_CONFIRMED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_confirmed.hex)
568569
set(S_NS_SIGNED_CONFIRMED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_confirmed_signed.hex)
570+
set(S_NS_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns.hex)
571+
set(S_NS_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_signed.hex)
569572
set(NS_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/zephyr_ns_signed.hex)
570573
set(S_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_signed.hex)
571574
set(NS_SIGNED_BIN_FILE ${CMAKE_BINARY_DIR}/zephyr/zephyr_ns_signed.bin)
@@ -598,6 +601,9 @@ if (CONFIG_BUILD_WITH_TFM)
598601
tfm_sign(sign_cmd_s_ns_confirm_hex SUFFIX "S_NS"
599602
HEADER TRAILER CONFIRM MAX_SECTORS ${S_NS_MAX_SECTORS}
600603
INPUT_FILE ${S_NS_CONFIRMED_HEX_FILE} OUTPUT_FILE ${S_NS_SIGNED_CONFIRMED_HEX_FILE})
604+
tfm_sign(sign_cmd_s_ns_hex SUFFIX "S_NS"
605+
HEADER TRAILER MAX_SECTORS ${S_NS_MAX_SECTORS}
606+
INPUT_FILE ${S_NS_HEX_FILE} OUTPUT_FILE ${S_NS_SIGNED_HEX_FILE})
601607

602608
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
603609
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
@@ -614,10 +620,28 @@ if (CONFIG_BUILD_WITH_TFM)
614620
${S_NS_SIGNED_CONFIRMED_HEX_FILE}
615621
)
616622

623+
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
624+
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
625+
-o ${S_NS_HEX_FILE}
626+
$<TARGET_PROPERTY:tfm,TFM_S_HEX_FILE>
627+
${NS_HEX_APP_FILE}
628+
629+
COMMAND ${sign_cmd_s_ns_hex}
630+
631+
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
632+
-o ${MERGED_BIN_FILE} --output-bin
633+
$<$<BOOL:${CONFIG_TFM_BL1}>:$<TARGET_PROPERTY:tfm,BL2_SIGNED_HEX_FILE>>
634+
$<$<NOT:$<BOOL:${CONFIG_TFM_BL1}>>:$<TARGET_PROPERTY:tfm,BL2_HEX_FILE>>
635+
${S_NS_SIGNED_HEX_FILE}
636+
)
637+
617638
set_property(GLOBAL APPEND PROPERTY extra_post_build_byproducts
618639
${S_NS_CONFIRMED_HEX_FILE}
619640
${S_NS_SIGNED_CONFIRMED_HEX_FILE}
641+
${S_NS_HEX_FILE}
642+
${S_NS_SIGNED_HEX_FILE}
620643
${MERGED_HEX_FILE}
644+
${MERGED_BIN_FILE}
621645
)
622646

623647
else()

0 commit comments

Comments
 (0)