Browse Source
Adds support for setting up a firmware loader image in a build, which can also optionally automatically configure MCUboot and the application image to be able to boot the firmware loader image using the retention subsystem Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>pull/89092/head
9 changed files with 99 additions and 5 deletions
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
# Copyright (c) 2025 Nordic Semiconductor |
||||
# |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
|
||||
# This sysbuild CMake file sets the sysbuild controlled settings as properties |
||||
# on a firmware updater image. |
||||
|
||||
set_config_bool(${ZCMAKE_APPLICATION} CONFIG_BOOTLOADER_MCUBOOT "${SB_CONFIG_BOOTLOADER_MCUBOOT}") |
||||
set_config_string(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_SIGNATURE_KEY_FILE |
||||
"${SB_CONFIG_BOOT_SIGNATURE_KEY_FILE}" |
||||
) |
||||
set_config_string(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_ENCRYPTION_KEY_FILE |
||||
"${SB_CONFIG_BOOT_ENCRYPTION_KEY_FILE}" |
||||
) |
||||
|
||||
if("${SB_CONFIG_SIGNATURE_TYPE}" STREQUAL "NONE") |
||||
set_config_bool(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE y) |
||||
else() |
||||
set_config_bool(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE n) |
||||
endif() |
||||
|
||||
set_config_bool(${ZCMAKE_APPLICATION} CONFIG_MCUBOOT_BOOTLOADER_MODE_FIRMWARE_UPDATER y) |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
# Copyright (c) 2025 Nordic Semiconductor |
||||
# |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
|
||||
if(SB_CONFIG_FIRMWARE_LOADER_IMAGE_PATH) |
||||
ExternalZephyrProject_Add( |
||||
APPLICATION ${SB_CONFIG_FIRMWARE_LOADER_IMAGE_NAME} |
||||
SOURCE_DIR ${SB_CONFIG_FIRMWARE_LOADER_IMAGE_PATH} |
||||
APP_TYPE FIRMWARE_LOADER |
||||
) |
||||
endif() |
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
# Copyright (c) 2025 Nordic Semiconductor |
||||
# |
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
|
||||
config SUPPORT_FIRMWARE_LOADER_SMP_SVR |
||||
bool |
||||
default y |
||||
|
||||
choice FIRMWARE_LOADER |
||||
prompt "Firmware loader image" |
||||
default FIRMWARE_LOADER_IMAGE_NONE |
||||
depends on MCUBOOT_MODE_FIRMWARE_UPDATER |
||||
|
||||
config FIRMWARE_LOADER_IMAGE_NONE |
||||
bool "None" |
||||
help |
||||
Do not Include a firmware loader image in the build. |
||||
|
||||
config FIRMWARE_LOADER_IMAGE_SMP_SVR |
||||
bool "smp_svr" |
||||
depends on SUPPORT_FIRMWARE_LOADER_SMP_SVR |
||||
help |
||||
Include the MCUmgr ``smp_svr`` sample as the firmware loader image to use. |
||||
|
||||
endchoice |
||||
|
||||
config FIRMWARE_LOADER_IMAGE_NAME |
||||
string |
||||
default "smp_svr" if FIRMWARE_LOADER_IMAGE_SMP_SVR |
||||
help |
||||
Name of firmware loader image. |
||||
|
||||
config FIRMWARE_LOADER_IMAGE_PATH |
||||
string |
||||
default "${ZEPHYR_BASE}/samples/subsys/mgmt/mcumgr/smp_svr" if FIRMWARE_LOADER_IMAGE_SMP_SVR |
||||
help |
||||
Source directory of firmware loader image. |
Loading…
Reference in new issue