Hi, I'm currently working on porting an nrf5340 - NCS 2.6.0 project repo to NCS 2.7.0 starting with my own minimal sample. Having some trouble getting the sample to build with MCUBoot and a static partition map.
Documentation seems to suggest that when building Sysbuild + MCUBoot with a static partition map defined, MCUBoot will build using the partition manager definitions in pm_static.yml. However, my build always seems to fail if boot_partition, slot0_partition, and slot1_partition AREN'T defined in my device tree. Only after MCUBoot finishes and my main application begins compilation do I see the pm_static.yml being used. This seems to run contrary to what the documentation suggests. Ideally we'd like to have a single source of truth in the pm_static.yml rather than having to define the same partitions in the devicetree for MCUBoot. Please advise.
Sysbuild Conf:
SB_CONFIG_PARTITION_MANAGER=y # Net Core Multiprotocol Radio Image SB_CONFIG_NETCORE_IPC_RADIO=y SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC=y SB_CONFIG_NETCORE_IPC_RADIO_IEEE802154=y # MCUBoot Bootloader SB_CONFIG_BOOTLOADER_MCUBOOT=y SB_CONFIG_PM_EXTERNAL_FLASH_MCUBOOT_SECONDARY=y
Build Output with boot partitions and slots0/1 not defined:
-- west build: making build dir /Users/timothy.lee/echo_low_power/apps/low_power_app/build_app pristine -- west build: generating a build system Loading Zephyr module(s) (Zephyr base): sysbuild_default -- Found Python3: /opt/homebrew/opt/[email protected]/bin/python3.11 (found suitable version "3.11.7", minimum required is "3.8") found components: Interpreter -- Cache files will be written to: /Users/timothy.lee/Library/Caches/zephyr -- Found west (found suitable version "1.2.0", minimum required is "0.14.0") -- Board: maven, qualifiers: nrf5340/cpuapp Parsing /Users/timothy.lee/echo3_ncs/zephyr/share/sysbuild/Kconfig Loaded configuration '/Users/timothy.lee/echo_low_power/apps/low_power_app/build_app/_sysbuild/empty.conf' Merged configuration '/Users/timothy.lee/echo_low_power/apps/low_power_app/sysbuild.conf' Configuration saved to '/Users/timothy.lee/echo_low_power/apps/low_power_app/build_app/zephyr/.config' Kconfig header saved to '/Users/timothy.lee/echo_low_power/apps/low_power_app/build_app/_sysbuild/autoconf.h' -- ***************************** * Running CMake for mcuboot * ***************************** Loading Zephyr default modules (Zephyr base). -- Application: /Users/timothy.lee/echo3_ncs/bootloader/mcuboot/boot/zephyr -- CMake version: 3.26.4 -- Found Python3: /opt/homebrew/bin/python (found suitable version "3.11.7", minimum required is "3.8") found components: Interpreter -- Cache files will be written to: /Users/timothy.lee/Library/Caches/zephyr -- Zephyr version: 3.6.99 (/Users/timothy.lee/echo3_ncs/zephyr) -- Found west (found suitable version "1.2.0", minimum required is "0.14.0") -- Board: maven, qualifiers: nrf5340/cpuapp -- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK -- Found host-tools: zephyr 0.16.1 (/Users/timothy.lee/zephyr-sdk-0.16.1) -- Found toolchain: zephyr 0.16.1 (/Users/timothy.lee/zephyr-sdk-0.16.1) -- Found Dtc: /opt/homebrew/bin/dtc (found suitable version "1.7.0", minimum required is "1.4.6") -- Found BOARD.dts: /Users/timothy.lee/echo_low_power/boards/level/maven/maven_nrf5340_cpuapp.dts -- Found devicetree overlay: /Users/timothy.lee/echo3_ncs/bootloader/mcuboot/boot/zephyr/app.overlay devicetree error: /chosen: undefined node label 'boot_partition'