Initial commit
Initial commit.
This commit is contained in:
43
bootloader/mcuboot/boot/zephyr/sysbuild/CMakeLists.txt
Normal file
43
bootloader/mcuboot/boot/zephyr/sysbuild/CMakeLists.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
function(mathup num align result)
|
||||
math(EXPR out "(((${num}) + ((${align}) - 1)) & ~((${align}) - 1))")
|
||||
set(${result} "${out}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(${SYSBUILD_CURRENT_MODULE_NAME}_pre_image_cmake)
|
||||
cmake_parse_arguments(PRE_IMAGE_CMAKE "" "IMAGE" "IMAGES" ${ARGN})
|
||||
|
||||
if(NOT "${PRE_IMAGE_CMAKE_IMAGE}" STREQUAL "mcuboot" OR NOT SB_CONFIG_BOOTLOADER_MCUBOOT)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set_property(
|
||||
DIRECTORY APPEND PROPERTY
|
||||
CMAKE_CONFIGURE_DEPENDS
|
||||
${CMAKE_BINARY_DIR}/mcuboot/CMakeCache.txt
|
||||
${CMAKE_BINARY_DIR}/mcuboot/zephyr/.config
|
||||
)
|
||||
endfunction(${SYSBUILD_CURRENT_MODULE_NAME}_pre_image_cmake)
|
||||
|
||||
function(${SYSBUILD_CURRENT_MODULE_NAME}_post_image_cmake)
|
||||
cmake_parse_arguments(POST_IMAGE_CMAKE "" "IMAGE" "IMAGES" ${ARGN})
|
||||
|
||||
if(NOT "${POST_IMAGE_CMAKE_IMAGE}" STREQUAL "mcuboot" OR NOT SB_CONFIG_BOOTLOADER_MCUBOOT)
|
||||
return()
|
||||
endif()
|
||||
|
||||
foreach(image ${IMAGES})
|
||||
set(app_type)
|
||||
get_property(app_type TARGET ${image} PROPERTY APP_TYPE)
|
||||
|
||||
if("${app_type}" STREQUAL "MAIN")
|
||||
sysbuild_get(mcuboot_image_footer_size IMAGE mcuboot CACHE)
|
||||
sysbuild_get(mcuboot_image_upgrade_footer_size IMAGE mcuboot CACHE)
|
||||
math(EXPR mcuboot_image_footer_size "${mcuboot_image_footer_size}" OUTPUT_FORMAT HEXADECIMAL)
|
||||
math(EXPR mcuboot_image_upgrade_footer_size "${mcuboot_image_upgrade_footer_size}" OUTPUT_FORMAT HEXADECIMAL)
|
||||
|
||||
set_property(TARGET ${image} APPEND_STRING PROPERTY CONFIG "CONFIG_ROM_END_OFFSET=${mcuboot_image_footer_size}\n")
|
||||
set_property(TARGET ${image} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_UPDATE_FOOTER_SIZE=${mcuboot_image_upgrade_footer_size}\n")
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction(${SYSBUILD_CURRENT_MODULE_NAME}_post_image_cmake)
|
||||
Reference in New Issue
Block a user