Single slot app configuration - Nordic DevAcademy Example build issue

Hi, 

I'm currently working on adding DFU over UART to my firmware running on an nRF52dk/nrf52832. 

To have a minimum viable example, I'm trying the DFU over UART exercise sadly, step 1.2 breaks the build.

# STEP 1.2 - Configure bootloader to use only one slot. 
SB_CONFIG_MCUBOOT_MODE_SINGLE_APP=y


I'm getting the following output which says that PM_MCUBOOT_SECONDARY_ID is undefined:
[9/20] Performing build step for 'l9_e1_sol'
[0/1] Re-running CMake...
Loading Zephyr default modules (Zephyr base (cached)).
-- Application: /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol
-- CMake version: 3.21.0
-- Using NCS Toolchain 2.8.20241106.790718371940 for building. (/home/alex/ncs/toolchains/b81a7cd864/cmake)
-- Cache files will be written to: /home/alex/.cache/zephyr
-- Zephyr version: 3.7.99 (/home/alex/ncs/v2.8.0/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf52dk, qualifiers: nrf52832
-- Found host-tools: zephyr 0.16.8 (/home/alex/ncs/toolchains/b81a7cd864/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.16.8 (/home/alex/ncs/toolchains/b81a7cd864/opt/zephyr-sdk)
-- Found BOARD.dts: /home/alex/ncs/v2.8.0/zephyr/boards/nordic/nrf52dk/nrf52dk_nrf52832.dts
-- Generated zephyr.dts: /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/include/generated/zephyr/devicetree_generated.h
-- Including generated dts.cmake file: /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/dts.cmake
Parsing /home/alex/ncs/v2.8.0/zephyr/Kconfig
Loaded configuration '/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/.config'
Merged configuration '/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/.config.sysbuild'
No change to configuration in '/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/.config'
No change to Kconfig header in '/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/include/generated/zephyr/autoconf.h'
-- Using ccache: /home/alex/ncs/toolchains/b81a7cd864/usr/bin/ccache
-- Including signing script: /home/alex/ncs/v2.8.0/nrf/cmake/sysbuild/image_signing.cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol
[1/184] Preparing syscall dependency handling

[7/184] Generating include/generated/zephyr/version.h
-- Zephyr version: 3.7.99 (/home/alex/ncs/v2.8.0/zephyr), build: v3.7.99-ncs1
[143/184] Building C object modules/mcuboot/boot/bootutil/zephyr/CMakeFiles.../alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c.obj
FAILED: modules/mcuboot/boot/bootutil/zephyr/CMakeFiles/mcuboot_util.dir/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c.obj 
ccache /home/alex/ncs/toolchains/b81a7cd864/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DKERNEL -DK_HEAP_MEM_POOL_SIZE=0 -DNCS_APPLICATION_BOOT_BANNER_GIT_REPO -DNRF52832_XXAA -DPICOLIBC_LONG_LONG_PRINTF_SCANF -DUSE_PARTITION_MANAGER=1 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/include/generated/zephyr -I/home/alex/ncs/v2.8.0/zephyr/include -I/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/include/generated -I/home/alex/ncs/v2.8.0/zephyr/soc/nordic -I/home/alex/ncs/v2.8.0/zephyr/soc/nordic/nrf52/. -I/home/alex/ncs/v2.8.0/zephyr/soc/nordic/common/. -I/home/alex/ncs/v2.8.0/zephyr/subsys/mgmt/mcumgr/util/include -I/home/alex/ncs/v2.8.0/zephyr/subsys/mgmt/mcumgr/transport/include -I/home/alex/ncs/v2.8.0/nrf/include -I/home/alex/ncs/v2.8.0/nrf/tests/include -I/home/alex/ncs/v2.8.0/modules/hal/cmsis/CMSIS/Core/Include -I/home/alex/ncs/v2.8.0/zephyr/modules/cmsis/. -I/home/alex/ncs/v2.8.0/modules/hal/nordic/nrfx -I/home/alex/ncs/v2.8.0/modules/hal/nordic/nrfx/drivers/include -I/home/alex/ncs/v2.8.0/modules/hal/nordic/nrfx/mdk -I/home/alex/ncs/v2.8.0/zephyr/modules/hal_nordic/nrfx/. -I/home/alex/ncs/v2.8.0/modules/debug/segger/SEGGER -I/home/alex/ncs/v2.8.0/modules/debug/segger/Config -I/home/alex/ncs/v2.8.0/modules/lib/zcbor/include -I/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/.. -I/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../include -I/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include -isystem /home/alex/ncs/v2.8.0/zephyr/lib/libc/common/include -Os -DNDEBUG -fno-strict-aliasing -Os -imacros /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol/zephyr/include/generated/zephyr/autoconf.h -fno-printf-return-value -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft --sysroot=/home/alex/ncs/toolchains/b81a7cd864/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/alex/ncs/v2.8.0/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=/home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/alex/ncs/v2.8.0/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/alex/ncs/v2.8.0=WEST_TOPDIR -ffunction-sections -fdata-sections --specs=picolibc.specs -std=c99 -MD -MT modules/mcuboot/boot/bootutil/zephyr/CMakeFiles/mcuboot_util.dir/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c.obj -MF modules/mcuboot/boot/bootutil/zephyr/CMakeFiles/mcuboot_util.dir/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c.obj.d -o modules/mcuboot/boot/bootutil/zephyr/CMakeFiles/mcuboot_util.dir/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c.obj -c /home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c
In file included from /home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/sysflash.h:12,
                 from /home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c:43:
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h: In function '__flash_area_ids_for_slot':
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h:19:60: error: 'PM_MCUBOOT_SECONDARY_ID' undeclared (first use in this function); did you mean 'PM_MCUBOOT_PRIMARY_ID'?
   19 | #define FLASH_AREA_IMAGE_0_SLOTS    PM_MCUBOOT_PRIMARY_ID, PM_MCUBOOT_SECONDARY_ID,
      |                                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h:35:29: note: in expansion of macro 'FLASH_AREA_IMAGE_0_SLOTS'
   35 | #define ALL_AVAILABLE_SLOTS FLASH_AREA_IMAGE_0_SLOTS
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h:55:9: note: in expansion of macro 'ALL_AVAILABLE_SLOTS'
   55 |         ALL_AVAILABLE_SLOTS
      |         ^~~~~~~~~~~~~~~~~~~
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h:19:60: note: each undeclared identifier is reported only once for each function it appears in
   19 | #define FLASH_AREA_IMAGE_0_SLOTS    PM_MCUBOOT_PRIMARY_ID, PM_MCUBOOT_SECONDARY_ID,
      |                                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h:35:29: note: in expansion of macro 'FLASH_AREA_IMAGE_0_SLOTS'
   35 | #define ALL_AVAILABLE_SLOTS FLASH_AREA_IMAGE_0_SLOTS
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~
/home/alex/ncs/v2.8.0/bootloader/mcuboot/boot/bootutil/zephyr/../../zephyr/include/sysflash/pm_sysflash.h:55:9: note: in expansion of macro 'ALL_AVAILABLE_SLOTS'
   55 |         ALL_AVAILABLE_SLOTS
      |         ^~~~~~~~~~~~~~~~~~~
[164/184] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
ninja: build stopped: subcommand failed.
[10/20] No configure step for 'mcuboot'
FAILED: _sysbuild/sysbuild/images/l9_e1_sol-prefix/src/l9_e1_sol-stamp/l9_e1_sol-build /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/_sysbuild/sysbuild/images/l9_e1_sol-prefix/src/l9_e1_sol-stamp/l9_e1_sol-build 
cd /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build/l9_e1_sol && /home/alex/ncs/toolchains/b81a7cd864/usr/local/bin/cmake --build .
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /home/alex/ncs/toolchains/b81a7cd864/usr/local/bin/cmake --build /home/alex/Code/ncs-inter/v2.9.0-v2.7.0/l9/l9_e1_sol/build


I'd like to know how to fix this, as my real firmware bin is larger than slot0 default size.

Parents Reply Children
No Data
Related