Skip to content

Commit b51221e

Browse files
committed
sysbuild: Pass s0/s1 package version on to MCUboot
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]>
1 parent 1eca9ca commit b51221e

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

subsys/mcuboot_ids/Kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,24 @@ config MCUBOOT_MCUBOOT_IMAGE_NUMBER
2929
# depends on MCUBOOT
3030
default -1
3131

32+
config MCUBOOT_MCUBOOT_S0_S1_VERSION_MAJOR
33+
int "MCUboot (S0/S1) package major version number (informative only, do not change)"
34+
depends on MCUBOOT
35+
default -1
36+
37+
config MCUBOOT_MCUBOOT_S0_S1_VERSION_MINOR
38+
int "MCUboot (S0/S1) package minor version number (informative only, do not change)"
39+
depends on MCUBOOT
40+
default -1
41+
42+
config MCUBOOT_MCUBOOT_S0_S1_VERSION_REVISION
43+
int "MCUboot (S0/S1) package revision version number (informative only, do not change)"
44+
depends on MCUBOOT
45+
default -1
46+
47+
config MCUBOOT_MCUBOOT_S0_S1_VERSION_BUILD_NUMBER
48+
int "MCUboot (S0/S1) package build number version number (informative only, do not change)"
49+
depends on MCUBOOT
50+
default -1
51+
3252
endmenu

sysbuild/CMakeLists.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,34 @@ function(${SYSBUILD_CURRENT_MODULE_NAME}_pre_cmake)
325325
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_QSPI_XIP_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_QSPI_XIP_IMAGE_NUMBER}\n")
326326
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER}\n")
327327

328+
if(SB_CONFIG_SECURE_BOOT_APPCORE)
329+
# Get the s0/s1 MCUboot update package version and split it up into the fields so it can
330+
# be supplied to the MCUboot image
331+
string(REPLACE "." ";" s0_s1_package_version ${SB_CONFIG_SECURE_BOOT_MCUBOOT_VERSION})
332+
string(REPLACE "+" ";" s0_s1_package_version "${s0_s1_package_version}")
333+
334+
list(GET s0_s1_package_version 0 s0_s1_package_version_major)
335+
list(GET s0_s1_package_version 1 s0_s1_package_version_minor)
336+
list(GET s0_s1_package_version 2 s0_s1_package_version_revision)
337+
list(GET s0_s1_package_version 3 s0_s1_package_version_build_number)
338+
339+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MAJOR=${s0_s1_package_version_major}\n")
340+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MINOR=${s0_s1_package_version_minor}\n")
341+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_REVISION=${s0_s1_package_version_revision}\n")
342+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_BUILD_NUMBER=${s0_s1_package_version_build_number}\n")
343+
344+
set(s0_s1_package_version)
345+
set(s0_s1_package_version_major)
346+
set(s0_s1_package_version_minor)
347+
set(s0_s1_package_version_revision)
348+
set(s0_s1_package_version_build_number)
349+
else()
350+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MAJOR=-1\n")
351+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_MINOR=-1\n")
352+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_REVISION=-1\n")
353+
set_property(TARGET mcuboot APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_MCUBOOT_S0_S1_VERSION_BUILD_NUMBER=-1\n")
354+
endif()
355+
328356
set_property(TARGET ${DEFAULT_IMAGE} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_APPLICATION_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_APPLICATION_IMAGE_NUMBER}\n")
329357
set_property(TARGET ${DEFAULT_IMAGE} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_NETWORK_CORE_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_NETWORK_CORE_IMAGE_NUMBER}\n")
330358
set_property(TARGET ${DEFAULT_IMAGE} APPEND_STRING PROPERTY CONFIG "CONFIG_MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER=${SB_CONFIG_MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER}\n")

0 commit comments

Comments
 (0)