@@ -7,83 +7,83 @@ if(CONFIG_BOOTLOADER_MCUBOOT)
77
88 if (${require_build} )
99 add_subdirectory (${MCUBOOT_BASE} /boot/zephyr ${CMAKE_BINARY_DIR} /mcuboot)
10+ endif () # ${require_build}
1011
11- set (to_sign_hex ${KERNEL_HEX_NAME} )
12+ set (to_sign_hex ${KERNEL_HEX_NAME} )
1213
13- # TODO: Assert that the bootloader and image use the same key.
14+ # TODO: Assert that the bootloader and image use the same key.
1415
15- set (signed_image_hex ${PROJECT_BINARY_DIR} /signed.hex)
16- set (signed_image_bin ${PROJECT_BINARY_DIR} /signed.bin)
17- set (to_sign_bin ${PROJECT_BINARY_DIR} /to_sign.bin)
18- set (update_hex ${PROJECT_BINARY_DIR} /update.hex)
19- set (update_bin ${PROJECT_BINARY_DIR} /update.bin)
16+ set (signed_image_hex ${PROJECT_BINARY_DIR} /signed.hex)
17+ set (signed_image_bin ${PROJECT_BINARY_DIR} /signed.bin)
18+ set (to_sign_bin ${PROJECT_BINARY_DIR} /to_sign.bin)
19+ set (update_hex ${PROJECT_BINARY_DIR} /update.hex)
20+ set (update_bin ${PROJECT_BINARY_DIR} /update.bin)
2021
21- get_property (app_binary_dir GLOBAL PROPERTY PROJECT_BINARY_DIR )
22- set (merged_hex_file
23- ${app_binary_dir} /mcuboot_primary_app.hex)
24- set (merged_hex_file_depends
25- mcuboot_primary_app_hex)
26- set (sign_merged
27- $<TARGET_EXISTS:partition_manager>)
28- set (to_sign_hex
29- $<IF:${sign_merged} ,${merged_hex_file} ,${PROJECT_BINARY_DIR} /${KERNEL_HEX_NAME} >)
30- set (sign_depends
31- $<IF:${sign_merged} ,${merged_hex_file_depends} ,zephyr_final>)
32- set (sign_cmd
33- ${PYTHON_EXECUTABLE}
34- ${MCUBOOT_BASE} /scripts/imgtool.py
35- sign
36- --key ${MCUBOOT_BASE} /${CONFIG_BOOT_SIGNATURE_KEY_FILE}
37- --header-size $<TARGET_PROPERTY:partition_manager,MCUBOOT_HEADER_SIZE>
38- --align ${DT_FLASH_WRITE_BLOCK_SIZE}
39- --version 0.1 # TODO configurable?
40- --slot-size $<TARGET_PROPERTY:partition_manager,MCUBOOT_SLOT_SIZE>
41- --pad-header
42- )
22+ get_property (app_binary_dir GLOBAL PROPERTY PROJECT_BINARY_DIR )
23+ set (merged_hex_file
24+ ${app_binary_dir} /mcuboot_primary_app.hex)
25+ set (merged_hex_file_depends
26+ mcuboot_primary_app_hex)
27+ set (sign_merged
28+ $<TARGET_EXISTS:partition_manager>)
29+ set (to_sign_hex
30+ $<IF:${sign_merged} ,${merged_hex_file} ,${PROJECT_BINARY_DIR} /${KERNEL_HEX_NAME} >)
31+ set (sign_depends
32+ $<IF:${sign_merged} ,${merged_hex_file_depends} ,zephyr_final>)
33+ set (sign_cmd
34+ ${PYTHON_EXECUTABLE}
35+ ${MCUBOOT_BASE} /scripts/imgtool.py
36+ sign
37+ --key ${MCUBOOT_BASE} /${CONFIG_BOOT_SIGNATURE_KEY_FILE}
38+ --header-size $<TARGET_PROPERTY:partition_manager,MCUBOOT_HEADER_SIZE>
39+ --align ${DT_FLASH_WRITE_BLOCK_SIZE}
40+ --version 0.1 # TODO configurable?
41+ --slot-size $<TARGET_PROPERTY:partition_manager,MCUBOOT_SLOT_SIZE>
42+ --pad-header
43+ )
4344
44- add_custom_command (
45- OUTPUT
46- ${signed_image_hex}
47- ${update_hex}
48- ${update_bin}
49- COMMAND
50- ${sign_cmd}
51- ${to_sign_hex}
52- ${signed_image_hex}
53- COMMAND
54- ${CMAKE_OBJCOPY}
55- --input -target =ihex
56- --output -target =binary
57- ${to_sign_hex}
58- ${to_sign_bin}
59- COMMAND
60- ${sign_cmd}
61- ${to_sign_bin}
62- ${update_bin}
63- COMMAND
64- ${sign_cmd}
65- --pad # This argument is needed for MCUboot to apply the test swap.
66- ${to_sign_hex}
67- ${update_hex}
68- COMMAND
69- ${CMAKE_OBJCOPY}
70- --input -target =ihex
71- --output -target =ihex
72- --change-address $<TARGET_PROPERTY:partition_manager,MCUBOOT_SLOT_SIZE>
73- ${update_hex}
74- ${PROJECT_BINARY_DIR} /moved_update.hex
75- DEPENDS
76- ${sign_depends}
77- )
78- add_custom_target (mcuboot_sign_target DEPENDS ${signed_image_hex} )
45+ add_custom_command (
46+ OUTPUT
47+ ${signed_image_hex}
48+ ${update_hex}
49+ ${update_bin}
50+ COMMAND
51+ ${sign_cmd}
52+ ${to_sign_hex}
53+ ${signed_image_hex}
54+ COMMAND
55+ ${CMAKE_OBJCOPY}
56+ --input -target =ihex
57+ --output -target =binary
58+ ${to_sign_hex}
59+ ${to_sign_bin}
60+ COMMAND
61+ ${sign_cmd}
62+ ${to_sign_bin}
63+ ${update_bin}
64+ COMMAND
65+ ${sign_cmd}
66+ --pad # This argument is needed for MCUboot to apply the test swap.
67+ ${to_sign_hex}
68+ ${update_hex}
69+ COMMAND
70+ ${CMAKE_OBJCOPY}
71+ --input -target =ihex
72+ --output -target =ihex
73+ --change-address $<TARGET_PROPERTY:partition_manager,MCUBOOT_SLOT_SIZE>
74+ ${update_hex}
75+ ${PROJECT_BINARY_DIR} /moved_update.hex
76+ DEPENDS
77+ ${sign_depends}
78+ )
79+ add_custom_target (mcuboot_sign_target DEPENDS ${signed_image_hex} )
7980
80- set_property (GLOBAL PROPERTY
81- mcuboot_primary_app_PM_HEX_FILE
82- ${signed_image_hex}
83- )
84- set_property (GLOBAL PROPERTY
85- mcuboot_primary_app_PM_TARGET
86- mcuboot_sign_target
87- )
88- endif () # ${require_build}
81+ set_property (GLOBAL PROPERTY
82+ mcuboot_primary_app_PM_HEX_FILE
83+ ${signed_image_hex}
84+ )
85+ set_property (GLOBAL PROPERTY
86+ mcuboot_primary_app_PM_TARGET
87+ mcuboot_sign_target
88+ )
8989endif ()
0 commit comments