Skip to content

Commit e6f8a89

Browse files
committed
trusted-firmware-m: Generate tfm_merged.bin
When CONFIG_TFM_MCUBOOT_IMAGE_NUMBER is 1 all the images will be merged. Currently there is no tfm_merged.bin file to be used in FOTA. This add the file generation to fulfill that need. Signed-off-by: BUDKE Gerson Fernando <[email protected]>
1 parent 148c067 commit e6f8a89

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
@@ -561,8 +561,11 @@ if (CONFIG_BUILD_WITH_TFM)
561561
endfunction()
562562

563563
set(MERGED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_merged.hex)
564+
set(MERGED_BIN_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_merged.bin)
564565
set(S_NS_CONFIRMED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_confirmed.hex)
565566
set(S_NS_SIGNED_CONFIRMED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_confirmed_signed.hex)
567+
set(S_NS_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns.hex)
568+
set(S_NS_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_zephyr_ns_signed.hex)
566569
set(NS_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/zephyr_ns_signed.hex)
567570
set(S_SIGNED_HEX_FILE ${CMAKE_BINARY_DIR}/zephyr/tfm_s_signed.hex)
568571
set(NS_SIGNED_BIN_FILE ${CMAKE_BINARY_DIR}/zephyr/zephyr_ns_signed.bin)
@@ -595,6 +598,9 @@ if (CONFIG_BUILD_WITH_TFM)
595598
tfm_sign(sign_cmd_s_ns_confirm_hex SUFFIX "S_NS"
596599
HEADER TRAILER CONFIRM MAX_SECTORS ${S_NS_MAX_SECTORS}
597600
INPUT_FILE ${S_NS_CONFIRMED_HEX_FILE} OUTPUT_FILE ${S_NS_SIGNED_CONFIRMED_HEX_FILE})
601+
tfm_sign(sign_cmd_s_ns_hex SUFFIX "S_NS"
602+
HEADER TRAILER MAX_SECTORS ${S_NS_MAX_SECTORS}
603+
INPUT_FILE ${S_NS_HEX_FILE} OUTPUT_FILE ${S_NS_SIGNED_HEX_FILE})
598604

599605
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
600606
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
@@ -611,10 +617,28 @@ if (CONFIG_BUILD_WITH_TFM)
611617
${S_NS_SIGNED_CONFIRMED_HEX_FILE}
612618
)
613619

620+
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
621+
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
622+
-o ${S_NS_HEX_FILE}
623+
$<TARGET_PROPERTY:tfm,TFM_S_HEX_FILE>
624+
${NS_HEX_APP_FILE}
625+
626+
COMMAND ${sign_cmd_s_ns_hex}
627+
628+
COMMAND ${PYTHON_EXECUTABLE} ${ZEPHYR_BASE}/scripts/build/mergehex.py
629+
-o ${MERGED_BIN_FILE} --output-bin
630+
$<$<BOOL:${CONFIG_TFM_BL1}>:$<TARGET_PROPERTY:tfm,BL2_SIGNED_HEX_FILE>>
631+
$<$<NOT:$<BOOL:${CONFIG_TFM_BL1}>>:$<TARGET_PROPERTY:tfm,BL2_HEX_FILE>>
632+
${S_NS_SIGNED_HEX_FILE}
633+
)
634+
614635
set_property(GLOBAL APPEND PROPERTY extra_post_build_byproducts
615636
${S_NS_CONFIRMED_HEX_FILE}
616637
${S_NS_SIGNED_CONFIRMED_HEX_FILE}
638+
${S_NS_HEX_FILE}
639+
${S_NS_SIGNED_HEX_FILE}
617640
${MERGED_HEX_FILE}
641+
${MERGED_BIN_FILE}
618642
)
619643

620644
else()

0 commit comments

Comments
 (0)