Skip to content

Commit

Permalink
sysbuild: Pass s0/s1 package version on to MCUboot
Browse files Browse the repository at this point in the history
This passes the s0/s1 package version on to MCUboot so it can be
used to prevent updating the alternative MCUboot upgrade slot
with an older image

Signed-off-by: Jamie McCrae <[email protected]>
  • Loading branch information
nordicjm committed Oct 18, 2024
1 parent 1eca9ca commit b51221e
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
20 changes: 20 additions & 0 deletions subsys/mcuboot_ids/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,24 @@ config MCUBOOT_MCUBOOT_IMAGE_NUMBER
# depends on MCUBOOT
default -1

config MCUBOOT_MCUBOOT_S0_S1_VERSION_MAJOR
int "MCUboot (S0/S1) package major version number (informative only, do not change)"
depends on MCUBOOT
default -1

config MCUBOOT_MCUBOOT_S0_S1_VERSION_MINOR
int "MCUboot (S0/S1) package minor version number (informative only, do not change)"
depends on MCUBOOT
default -1

config MCUBOOT_MCUBOOT_S0_S1_VERSION_REVISION
int "MCUboot (S0/S1) package revision version number (informative only, do not change)"
depends on MCUBOOT
default -1

config MCUBOOT_MCUBOOT_S0_S1_VERSION_BUILD_NUMBER
int "MCUboot (S0/S1) package build number version number (informative only, do not change)"
depends on MCUBOOT
default -1

endmenu
28 changes: 28 additions & 0 deletions sysbuild/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,34 @@ function(${SYSBUILD_CURRENT_MODULE_NAME}_pre_cmake)
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_QSPI_XIP_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_QSPI_XIP_IMAGE_NUMBER}\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER}\n")

if(SB_CONFIG_SECURE_BOOT_APPCORE)
# Get the s0/s1 MCUboot update package version and split it up into the fields so it can
# be supplied to the MCUboot image
string(REPLACE "." ";" s0_s1_package_version ${SB_CONFIG_SECURE_BOOT_MCUBOOT_VERSION})
string(REPLACE "+" ";" s0_s1_package_version "${s0_s1_package_version}")

list(GET s0_s1_package_version 0 s0_s1_package_version_major)
list(GET s0_s1_package_version 1 s0_s1_package_version_minor)
list(GET s0_s1_package_version 2 s0_s1_package_version_revision)
list(GET s0_s1_package_version 3 s0_s1_package_version_build_number)

set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MAJOR=${s0_s1_package_version_major}\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MINOR=${s0_s1_package_version_minor}\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_REVISION=${s0_s1_package_version_revision}\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_BUILD_NUMBER=${s0_s1_package_version_build_number}\n")

set(s0_s1_package_version)
set(s0_s1_package_version_major)
set(s0_s1_package_version_minor)
set(s0_s1_package_version_revision)
set(s0_s1_package_version_build_number)
else()
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MAJOR=-1\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MINOR=-1\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_REVISION=-1\n")
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_BUILD_NUMBER=-1\n")
endif()

set_property(TARGET ${DEFAULT_IMAGE} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_APPLICATION_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_APPLICATION_IMAGE_NUMBER}\n")
set_property(TARGET ${DEFAULT_IMAGE} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_NETWORK_CORE_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_NETWORK_CORE_IMAGE_NUMBER}\n")
set_property(TARGET ${DEFAULT_IMAGE} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER}\n")
Expand Down

0 comments on commit b51221e

Please sign in to comment.