mcumgr image confirm returns error 3 while following the "Add DFU support to your application" walk-through (serial DFU)

Add DFU support to your application walk-through
devzone.nordicsemi.com/.../ncs-dfu
Serial DFU chapter
Fails on a nRF52840 DK (with one HW change)
With error 3 on image confirm using mcumgr

All the previous steps seem fine.

nrf connect sdk 2.1.0

I tried increasing stack sizes with no success.

I ensured that the flash is fully erased before the first flash in case
Like in the walk-through, I did just rebuild the hello world sample to change the signature

The change I did to the nRF52840 DK, in case this could be of any effect
HW : disconnect the 32.768Khz quartz, reroute the wires so that P0.00 and P0.01 are the new USART0, pass through USB CDC
FW :
create an overlay to set the uart0 on P0.00 and P0.01
add to the prj.conf to run without the quartz 32.768Khz
# No 32.768Khz Quartz
CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n

I was able to run several other samples with this config with no problems.


Looking at the mcumgr source code
Error 3 seems to be LOG_MGMT_ERR_EINVAL in the mcumgr source code. May have to do with cbor_read_object or cbor_write_attr

Here are the logs

D:\ndapp\serial_dfu\build\zephyr>mcumgr --conntype serial --connstring "COM7,baud=115200" image test 636ec254a624a4dd554ea46c4f04a7bda19b8f1fa88f374b701d9421b8712b96
Images:
image=0 slot=0
version: 0.0.0
bootable: true
flags: active confirmed
hash: 74ec5b3cb343075a73fe5f179e94c80cd2c8bf886a8687ac32828fbb23e6906e
image=0 slot=1
version: 0.0.0
bootable: true
flags: pending
hash: 636ec254a624a4dd554ea46c4f04a7bda19b8f1fa88f374b701d9421b8712b96
Split status: N/A (0)

D:\ndapp\serial_dfu\build\zephyr>mcumgr --conntype serial --connstring "COM7,baud=115200" reset
Done

// NRF Connect RTT properly logs the Hello World, with a new compilation time, confirming that the active slot is the one we wanted

D:\ndapp\serial_dfu\build\zephyr>mcumgr --conntype serial --connstring "COM7,baud=115200" image list
Images:
image=0 slot=0
version: 0.0.0
bootable: true
flags: active
hash: 636ec254a624a4dd554ea46c4f04a7bda19b8f1fa88f374b701d9421b8712b96
image=0 slot=1
version: 0.0.0
bootable: true
flags: confirmed
hash: 74ec5b3cb343075a73fe5f179e94c80cd2c8bf886a8687ac32828fbb23e6906e
Split status: N/A (0)

D:\ndapp\serial_dfu\build\zephyr>mcumgr --conntype serial --connstring "COM7,baud=115200" image confirm
Error: 3

// NRF Connect VSCode or no NRF connect connected, same problem.


D:\ndapp\serial_dfu\build\zephyr>mcumgr --conntype serial --connstring "COM7,baud=115200" image list
Images:
image=0 slot=0
version: 0.0.0
bootable: true
flags: active
hash: 636ec254a624a4dd554ea46c4f04a7bda19b8f1fa88f374b701d9421b8712b96
image=0 slot=1
version: 0.0.0
bootable: true
flags: confirmed
hash: 74ec5b3cb343075a73fe5f179e94c80cd2c8bf886a8687ac32828fbb23e6906e
Split status: N/A (0)

// yep, no change

I am stuck.

  • Can you post the build command you use along with the build log? Also, please include ls output from your project directory and the child_image directory.

  • there you go. hope this is what you need.

    project dir (D:/lc/ndapp)

    07/10/2022 17:18 1 280 .gitignore
    29/09/2022 17:44 <DIR> advert
    07/10/2022 16:44 1 049 advert.code-workspace
    03/10/2022 14:26 <DIR> bootloader
    29/09/2022 18:12 <DIR> central_smp_client
    06/10/2022 17:31 <DIR> dtm
    28/09/2022 17:53 <DIR> mysecondapp
    07/10/2022 16:47 <DIR> peripheral_hr
    11/10/2022 15:43 <DIR> radio_test
    07/10/2022 19:20 708 README.md
    11/10/2022 17:33 <DIR> serial_dfu
    29/09/2022 19:54 <DIR> smp_server
    3 fichier(s) 3 037 octets

    api radio_test dir

    23/09/2022 18:29 2 00.bin
    29/09/2022 15:20 <DIR> boards
    11/10/2022 18:04 <DIR> build
    11/10/2022 15:51 <DIR> child_image
    28/09/2022 16:53 766 CMakeLists.txt
    10/10/2022 15:30 12 702 devs_urls.txt
    04/10/2022 17:51 996 Kconfig
    06/10/2022 17:57 2 980 mcumgr_commands.txt
    04/10/2022 21:40 1 174 nrf52840dk_nrf52840.overlay
    11/10/2022 18:02 1 720 prj.conf
    28/09/2022 16:53 514 prj_ipc_shell.conf
    28/09/2022 16:53 8 352 README.rst
    06/10/2022 17:42 <DIR> releases
    06/10/2022 18:11 260 resources_used.txt
    28/09/2022 16:53 582 sample.yaml
    04/10/2022 17:16 <DIR> src
    06/10/2022 16:57 2 teraterm.log
    12 fichier(s) 30 050 octets


    radio_test/child_image dir

    11/10/2022 17:06 2 294 mcuboot.conf
    11/10/2022 11:33 335 mcuboot.overlay !!!(ignored)!!!
    2 fichier(s) 2 629 octets


    pristine build compil log

    * Executing task: nRF Connect: Build: build (active)
    
    Building radio_test
    west build --build-dir d:\lc\ndapp\radio_test\build d:\lc\ndapp\radio_test --pristine --board nrf52840dk_nrf52840 -- -DNCS_TOOLCHAIN_VERSION:STRING="NONE" -DBOARD_ROOT:STRING="d:/lc/ndapp/radio_test;d:/lc/ndapp/dtm;d:/lc/ndapp/smp_server;d:/lc/ndapp/bootloader;d:/lc/ndapp/peripheral_hr" -DCONFIG_DEBUG_OPTIMIZATIONS:STRING="y" -DCONFIG_DEBUG_THREAD_INFO:STRING="y" -DDTC_OVERLAY_FILE:STRING="d:/lc/ndapp/radio_test/nrf52840dk_nrf52840.overlay" -DCONF_FILE:STRING="d:/lc/ndapp/radio_test/prj.conf"
    
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: D:/lc/ndapp/radio_test
    -- Found Python3: D:/ncs/toolchains/v2.1.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: D:/ncs/v2.1.0/zephyr/.cache
    -- Zephyr version: 3.1.99 (D:/ncs/v2.1.0/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    -- Board: nrf52840dk_nrf52840
    -- Found host-tools: zephyr 0.14.1 (D:/ncs/toolchains/v2.1.0/opt/zephyr-sdk)
    -- Found dtc: D:/ncs/toolchains/v2.1.0/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: zephyr 0.14.1 (D:/ncs/toolchains/v2.1.0/opt/zephyr-sdk)
    -- Found BOARD.dts: D:/ncs/v2.1.0/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts
    -- Found devicetree overlay: d:/lc/ndapp/radio_test/nrf52840dk_nrf52840.overlay
    -- Generated zephyr.dts: D:/lc/ndapp/radio_test/build/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: D:/lc/ndapp/radio_test/build/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: D:/lc/ndapp/radio_test/build/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: D:/lc/ndapp/radio_test/build/zephyr/dts.cmake
    Parsing D:/lc/ndapp/radio_test/Kconfig
    Loaded configuration 'D:/lc/ndapp/radio_test/build/zephyr/.config'
    No change to configuration in 'D:/lc/ndapp/radio_test/build/zephyr/.config'
    No change to Kconfig header in 'D:/lc/ndapp/radio_test/build/zephyr/include/generated/autoconf.h'
    -- The C compiler identification is GNU 10.3.0
    -- The CXX compiler identification is GNU 10.3.0
    -- The ASM compiler identification is GNU
    -- Found assembler: D:/ncs/toolchains/v2.1.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- Found Python3: D:/ncs/toolchains/v2.1.0/opt/bin/python.exe (found version "3.8.2") found components: Interpreter
    
    === child image mcuboot - begin ===
    loading initial cache file D:/lc/ndapp/radio_test/build/mcuboot/child_image_preload.cmake
    Loading Zephyr default modules (Zephyr base).
    -- Application: D:/ncs/v2.1.0/bootloader/mcuboot/boot/zephyr
    -- Found Python3: D:/ncs/toolchains/v2.1.0/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: D:/ncs/v2.1.0/zephyr/.cache
    -- Zephyr version: 3.1.99 (D:/ncs/v2.1.0/zephyr)
    -- Found west (found suitable version "0.14.0", minimum required is "0.7.1")
    -- Board: nrf52840dk_nrf52840
    -- Found host-tools: zephyr 0.14.1 (D:/ncs/toolchains/v2.1.0/opt/zephyr-sdk)
    -- Found dtc: D:/ncs/toolchains/v2.1.0/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: zephyr 0.14.1 (D:/ncs/toolchains/v2.1.0/opt/zephyr-sdk)
    -- Found BOARD.dts: D:/ncs/v2.1.0/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts
    -- Found devicetree overlay: D:/ncs/v2.1.0/nrf/modules/mcuboot/usb.overlay
    -- Found devicetree overlay: D:/ncs/v2.1.0/bootloader/mcuboot/boot/zephyr/dts.overlay
    -- Generated zephyr.dts: D:/lc/ndapp/radio_test/build/mcuboot/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: D:/lc/ndapp/radio_test/build/mcuboot/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: D:/lc/ndapp/radio_test/build/mcuboot/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: D:/lc/ndapp/radio_test/build/mcuboot/zephyr/dts.cmake
    Parsing D:/ncs/v2.1.0/bootloader/mcuboot/boot/zephyr/Kconfig
    Loaded configuration 'D:/ncs/v2.1.0/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'
    Merged configuration 'D:/ncs/v2.1.0/bootloader/mcuboot/boot/zephyr/prj.conf'
    Merged configuration 'D:/ncs/v2.1.0/bootloader/mcuboot/boot/zephyr/boards/nrf52840dk_nrf52840.conf'
    Merged configuration 'D:/ncs/v2.1.0/nrf/subsys/partition_manager/partition_manager_enabled.conf'
    Merged configuration 'D:/lc/ndapp/radio_test/child_image/mcuboot.conf'
    Merged configuration 'D:/lc/ndapp/radio_test/build/mcuboot/zephyr/misc/generated/extra_kconfig_options.conf'
    Configuration saved to 'D:/lc/ndapp/radio_test/build/mcuboot/zephyr/.config'
    Kconfig header saved to 'D:/lc/ndapp/radio_test/build/mcuboot/zephyr/include/generated/autoconf.h'
    -- The C compiler identification is GNU 10.3.0
    -- The CXX compiler identification is GNU 10.3.0
    -- The ASM compiler identification is GNU
    -- Found assembler: D:/ncs/toolchains/v2.1.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at D:/ncs/v2.1.0/nrf/lib/flash_patch/CMakeLists.txt:8 (message):
    
    ----------------------------------------------------------
    --- WARNING: To maintain the integrity of secure boot, ---
    --- enable CONFIG_DISABLE_FLASH_PATCH in production. ---
    ----------------------------------------------------------
    
    
    MCUBoot bootloader key file: D:\\lc\\ndapp\\serial_dfu\\lx_private1.pem
    -- Configuring done
    -- Generating done
    -- Build files have been written to: D:/lc/ndapp/radio_test/build/mcuboot
    === child image mcuboot - end ===
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: D:/lc/ndapp/radio_test/build
    -- west build: building application
    [1/254] Generating include/generated/version.h
    -- Zephyr version: 3.1.99 (D:/ncs/v2.1.0/zephyr), build: v3.1.99-ncs1
    [2/254] Creating directories for 'mcuboot_subimage'
    [3/254] No download step for 'mcuboot_subimage'
    [4/254] No update step for 'mcuboot_subimage'
    [5/254] No patch step for 'mcuboot_subimage'
    [6/254] No configure step for 'mcuboot_subimage'
    [6/254] Performing build step for 'mcuboot_subimage'
    [1/204] Generating include/generated/version.h
    -- Zephyr version: 3.1.99 (D:/ncs/v2.1.0/zephyr), build: v3.1.99-ncs1
    [2/204] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
    [3/204] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
    [4/204] Generating include/generated/driver-validation.h
    [5/204] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h, include/generated/otype-to-size.h
    [6/204] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
    [7/204] Generating include/generated/offsets.h
    [8/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/multi_heap.c.obj
    [9/204] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj
    [10/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf.c.obj
    [11/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_nano.c.obj
    [12/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/reboot.c.obj
    [13/204] Building ASM object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/common/soc_nrf_common.S.obj
    [14/204] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_enabled_instances.c.obj
    [15/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/assert.c.obj
    [16/204] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/storage/flash_map/flash_map.c.obj
    [17/204] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/logging/log_minimal.c.obj
    [18/204] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/validate_base_addresses.c.obj
    [19/204] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/tracing/tracing_none.c.obj
    [20/204] Building C object zephyr/CMakeFiles/zephyr.dir/D_/ncs/v2.1.0/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_abort_zephyr.c.obj
    [21/204] Building C object zephyr/CMakeFiles/zephyr.dir/subsys/storage/flash_map/flash_map_layout.c.obj
    [22/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/cpu_idle.S.obj
    [23/204] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
    [24/204] Building C object zephyr/CMakeFiles/zephyr.dir/D_/ncs/v2.1.0/nrf/subsys/partition_manager/flash_map_partition_manager.c.obj
    [25/204] Building C object zephyr/CMakeFiles/zephyr.dir/D_/ncs/v2.1.0/nrfxlib/crypto/nrf_cc310_platform/src/nrf_cc3xx_platform_mutex_zephyr.c.obj
    [26/204] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/fatal.c.obj
    [27/204] Building C object zephyr/arch/common/CMakeFiles/arch__common.dir/sw_isr_common.c.obj
    [28/204] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/prep_c.c.obj
    [29/204] Generating linker_zephyr_pre0.cmd
    [30/204] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/irq_manage.c.obj
    [31/204] Generating linker_zephyr_pre1.cmd
    [32/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi_on_reset.S.obj
    [33/204] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi.c.obj
    [34/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap_helper.S.obj
    [35/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault_s.S.obj
    [36/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
    [37/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/exc_exit.S.obj
    [38/204] Linking C static library zephyr\arch\common\libisr_tables.a
    [39/204] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap.c.obj
    [40/204] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/thread.c.obj
    [41/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/reset.S.obj
    [42/204] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fpu.c.obj
    [43/204] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/irq_init.c.obj
    [44/204] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/thread_abort.c.obj
    [45/204] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/scb.c.obj
    [46/204] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/vector_table.S.obj
    [47/204] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault.c.obj
    [48/204] Linking C static library zephyr\arch\common\libarch__common.a
    [49/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_packaged.c.obj
    [50/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc7_sw.c.obj
    [51/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32_sw.c.obj
    [52/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc8_sw.c.obj
    [53/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc32c_sw.c.obj
    [54/204] Linking C static library zephyr\arch\arch\arm\core\aarch32\libarch__arm__core__aarch32.a
    [55/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/dec.c.obj
    [56/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/crc16_sw.c.obj
    [57/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/hex.c.obj
    [58/204] Linking C static library zephyr\arch\arch\arm\core\aarch32\cortex_m\libarch__arm__core__aarch32__cortex_m.a
    [59/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/notify.c.obj
    [60/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/onoff.c.obj
    [61/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/fdtable.c.obj
    [62/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj
    [63/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/timeutil.c.obj
    [64/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap.c.obj
    [65/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/sem.c.obj
    [66/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/thread_entry.c.obj
    [67/204] Generating zephyr/autogen-pubkey.c
    [68/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/heap-validate.c.obj
    [69/204] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_mpu.c.obj
    [70/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/rb.c.obj
    [71/204] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/bitarray.c.obj
    [72/204] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_core_mpu.c.obj
    [73/204] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
    [74/204] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/perror.c.obj
    [75/204] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
    [76/204] Generating ../../../include/generated/libc/minimal/strerror_table.h
    [77/204] Building C object CMakeFiles/app.dir/main.c.obj
    [78/204] Building C object CMakeFiles/app.dir/keys.c.obj
    [79/204] Building C object CMakeFiles/app.dir/os.c.obj
    [80/204] Linking C static library zephyr\libzephyr.a
    [81/204] Building C object CMakeFiles/app.dir/flash_map_extended.c.obj
    [82/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/encrypted.c.obj
    [83/204] Building C object zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj
    [84/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/tlv.c.obj
    [85/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/image_validate.c.obj
    [86/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/image_rsa.c.obj
    [87/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/image_ed25519.c.obj
    [88/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/fault_injection_hardening.c.obj
    [89/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/image_ec256.c.obj
    [90/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/caps.c.obj
    [91/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/swap_scratch.c.obj
    [92/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/ext/mbedtls-asn1/src/platform_util.c.obj
    [93/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/bootutil_misc.c.obj
    [94/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/swap_misc.c.obj
    [95/204] Building C object CMakeFiles/app.dir/zephyr/autogen-pubkey.c.obj
    [96/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/loader.c.obj
    [97/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/swap_move.c.obj
    [98/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/ext/mbedtls-asn1/src/asn1parse.c.obj
    [99/204] Building C object CMakeFiles/app.dir/D_/ncs/v2.1.0/bootloader/mcuboot/ext/nrf/cc310_glue.c.obj
    [100/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoll.c.obj
    [101/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/abort.c.obj
    [102/204] Building C object CMakeFiles/app.dir/nrf_cleanup.c.obj
    [103/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/atoi.c.obj
    [104/204] Linking C static library zephyr\arch\arch\arm\core\aarch32\mpu\libarch__arm__core__aarch32__mpu.a
    [105/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/bsearch.c.obj
    [106/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtol.c.obj
    [107/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoul.c.obj
    [108/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/qsort.c.obj
    [109/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoull.c.obj
    [110/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/malloc.c.obj
    [111/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strstr.c.obj
    [112/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strerror.c.obj
    [113/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/exit.c.obj
    [114/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/string.c.obj
    [115/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strncasecmp.c.obj
    [116/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/fprintf.c.obj
    [117/204] Linking C static library app\libapp.a
    [118/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strspn.c.obj
    [119/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrt.c.obj
    [120/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/sprintf.c.obj
    [121/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/math/sqrtf.c.obj
    [122/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/time/gmtime.c.obj
    [123/204] Building C object zephyr/soc/arm/common/cortex_m/CMakeFiles/soc__arm__common__cortex_m.dir/arm_mpu_regions.c.obj
    [124/204] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/stdout_console.c.obj
    [125/204] Building C object zephyr/soc/arm/nordic_nrf/nrf52/CMakeFiles/soc__arm__nordic_nrf__nrf52.dir/soc.c.obj
    [126/204] Building C object modules/nrf/lib/fatal_error/CMakeFiles/..__nrf__lib__fatal_error.dir/fatal_error.c.obj
    [127/204] Building C object zephyr/drivers/console/CMakeFiles/drivers__console.dir/uart_console.c.obj
    [128/204] Linking C static library zephyr\lib\posix\liblib__posix.a
    [129/204] Building C object zephyr/drivers/clock_control/CMakeFiles/drivers__clock_control.dir/clock_control_nrf.c.obj
    [130/204] Building C object zephyr/drivers/gpio/CMakeFiles/drivers__gpio.dir/gpio_nrfx.c.obj
    [131/204] Linking C static library zephyr\soc\arm\common\cortex_m\libsoc__arm__common__cortex_m.a
    [132/204] Linking C static library zephyr\lib\libc\minimal\liblib__libc__minimal.a
    [133/204] Building C object zephyr/drivers/flash/CMakeFiles/drivers__flash.dir/soc_flash_nrf.c.obj
    [134/204] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
    [135/204] Linking C static library modules\nrf\lib\fatal_error\lib..__nrf__lib__fatal_error.a
    [136/204] Linking C static library zephyr\soc\arm\nordic_nrf\nrf52\libsoc__arm__nordic_nrf__nrf52.a
    [137/204] Linking C static library zephyr\drivers\console\libdrivers__console.a
    [138/204] Building C object zephyr/drivers/flash/CMakeFiles/drivers__flash.dir/flash_page_layout.c.obj
    [139/204] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/sys_clock_init.c.obj
    [140/204] Linking C static library zephyr\drivers\clock_control\libdrivers__clock_control.a
    [141/204] Linking C static library zephyr\drivers\gpio\libdrivers__gpio.a
    [142/204] Building C object zephyr/drivers/timer/CMakeFiles/drivers__timer.dir/nrf_rtc_timer.c.obj
    [143/204] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/common.c.obj
    [144/204] Linking C static library zephyr\drivers\serial\libdrivers__serial.a
    [145/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/mdk/system_nrf52840.c.obj
    [146/204] Building C object modules/nrf/lib/fprotect/CMakeFiles/..__nrf__lib__fprotect.dir/fprotect_acl.c.obj
    [147/204] Building C object modules/nrf/drivers/hw_cc310/CMakeFiles/..__nrf__drivers__hw_cc310.dir/hw_cc310.c.obj
    [148/204] Linking C static library zephyr\drivers\flash\libdrivers__flash.a
    [149/204] Building C object zephyr/drivers/pinctrl/CMakeFiles/drivers__pinctrl.dir/pinctrl_nrf.c.obj
    [150/204] Linking C static library zephyr\drivers\timer\libdrivers__timer.a
    [151/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/nrfx_glue.c.obj
    [152/204] Building C object modules/mcuboot/boot/bootutil/zephyr/CMakeFiles/mcuboot_util.dir/D_/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/src/bootutil_public.c.obj
    [153/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_nvmc.c.obj
    [154/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_clock.c.obj
    [155/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_ppi.c.obj
    [156/204] Linking C static library modules\nrf\drivers\hw_cc310\lib..__nrf__drivers__hw_cc310.a
    [157/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/helpers/nrfx_flag32_allocator.c.obj
    [158/204] Linking C static library modules\nrf\lib\fprotect\lib..__nrf__lib__fprotect.a
    [159/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_wdt.c.obj
    [160/204] Building C object modules/segger/CMakeFiles/modules__segger.dir/SEGGER_RTT_zephyr.c.obj
    [161/204] Linking C static library zephyr\drivers\pinctrl\libdrivers__pinctrl.a
    [162/204] Linking C static library modules\mcuboot\boot\bootutil\zephyr\libmcuboot_util.a
    [163/204] Building C object modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/D_/ncs/v2.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_gpiote.c.obj
    [164/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/main_weak.c.obj
    [165/204] Building C object modules/segger/CMakeFiles/modules__segger.dir/D_/ncs/v2.1.0/modules/debug/segger/SEGGER/SEGGER_RTT.c.obj
    [166/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/fatal.c.obj
    [167/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/banner.c.obj
    [168/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/errno.c.obj
    [169/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/device.c.obj
    [170/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/init.c.obj
    [171/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/thread.c.obj
    [172/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/version.c.obj
    [173/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/kheap.c.obj
    [174/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mem_slab.c.obj
    [175/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/idle.c.obj
    [176/204] Linking C static library modules\hal_nordic\nrfx\libmodules__hal_nordic__nrfx.a
    [177/204] Linking C static library modules\segger\libmodules__segger.a
    [178/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sem.c.obj
    [179/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/msg_q.c.obj
    [180/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mailbox.c.obj
    [181/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/queue.c.obj
    [182/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mutex.c.obj
    [183/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/pipes.c.obj
    [184/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/stack.c.obj
    [185/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/condvar.c.obj
    [186/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/work.c.obj
    [187/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/mempool.c.obj
    [188/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/xip.c.obj
    [189/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/system_work_q.c.obj
    [190/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timer.c.obj
    [191/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/timeout.c.obj
    [192/204] Building C object zephyr/kernel/CMakeFiles/kernel.dir/sched.c.obj
    [193/204] Linking C static library zephyr\kernel\libkernel.a
    [194/204] Linking C executable zephyr\zephyr_pre0.elf
    
    [195/204] Generating dev_handles.c
    [196/204] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/misc/empty_file.c.obj
    [197/204] Building C object zephyr/CMakeFiles/zephyr_pre1.dir/dev_handles.c.obj
    [198/204] Linking C executable zephyr\zephyr_pre1.elf
    
    [199/204] Generating linker.cmd
    [200/204] Generating isr_tables.c, isrList.bin
    [201/204] Building C object zephyr/CMakeFiles/zephyr_final.dir/isr_tables.c.obj
    [202/204] Building C object zephyr/CMakeFiles/zephyr_final.dir/dev_handles.c.obj
    [203/204] Building C object zephyr/CMakeFiles/zephyr_final.dir/misc/empty_file.c.obj
    [204/204] Linking C executable zephyr\zephyr.elf
    Memory region Used Size Region Size %age Used
    FLASH: 38848 B 48 KB 79.04%
    SRAM: 20 KB 256 KB 7.81%
    IDT_LIST: 0 GB 2 KB 0.00%
    [233/254] Linking C executable zephyr\zephyr_pre0.elf
    
    [237/254] Linking C executable zephyr\zephyr_pre1.elf
    
    [242/254] Building C object zephyr/CMakeFiles/zephyr_final.dir/dev_handles.c.obj
    [244/254] No install step for 'mcuboot_subimage'
    [245/254] Completed 'mcuboot_subimage'
    [246/254] Linking C executable zephyr\zephyr.elf
    Memory region Used Size Region Size %age Used
    FLASH: 96892 B 499200 B 19.41%
    SRAM: 25336 B 256 KB 9.66%
    IDT_LIST: 0 GB 2 KB 0.00%
    [247/254] Generating zephyr/mcuboot_primary_app.hex
    [248/254] Generating zephyr/mcuboot_primary.hex
    [249/254] Generating ../../zephyr/app_update.bin
    sign the payload
    [250/254] Generating ../../zephyr/app_signed.hex
    sign the payload
    [251/254] Generating ../../zephyr/dfu_application.zip
    [252/254] Generating ../../zephyr/app_test_update.hex
    sign the payload
    [253/254] Generating ../../zephyr/app_moved_test_update.hex
    [254/254] Generating zephyr/merged.hex

  • Hi,

    I'm seeing the same behavior when building the Matter light bulb application with an added mcuboot.overlay file. Maybe the build system stops looking for additional overlay files when it found the dts.overlay file in the bootloader directory.

    You can always specify the path to the overlay manually, as described in Child image devicetree overlays, e.g:

    west build -b nrf52840dk_nrf52840 -- -Dmcuboot_DTC_OVERLAY_FILE="C:/ncs/v2.1.0/nrf/samples/matter/light_bulb/child_image/mcuboot.overlay"

    Best regards,
    Jørgen

  • I had the same problem. Don't understand the overlay file stuff, but adding the hash after the confirm command did the job.

    mcumgr --conntype serial --connstring "/dev/ttyACM1,baud=115200" image confirm 4e7c28aaf34896c379f599e335a31fc443ef162758eefe667e86b00d25f39197

Related