Error building Matter sample for XIAO nRF54L15 board

Hi there,

Well , So that is only Half the story though IMO.
If You have been in it maybe less but
“In the beginning”
the 52 Series DK didn’t have any Flash and the Xiao Nrf52840 Does… go figure Any references to external flash in the context of nRF52 dev kits usually refer to how you can add external QSPI/SPI flash on your own for DFU or storage experiments—not because the board ships with one(hello, Devicetree Overlays or Partition manager ) :face_with_hand_over_mouth:
Now this the 54 Series Has Flash (SOB) :grin: and the examples to use it for DFU _SLots and “The nRF54L15 DK has a 64 Mb external flash memory. The memory is a multi‑I/O memory supporting both Serial Peripheral Interface (SPI) and Quad Serial Peripheral Interface (QSPI).” Nice to have some pre canned examples. and L15 Xiao has bare bones. NONE…yikes.

It was a PITA, QSPI/SPI on the 52840 Xiao had it and DK , didn’t so big ADD there.
One could maybe add it via the expansion board for the L15 XIAO as in the demo for the 52840 XIAO.

I’m confident it will get there, @Toastee0 is one new user that is crushing it too so the more the eyes and ideas make it go. Folks are returning for school etc, more Seeedineers will be wanting to use it on other projects As well. :crossed_fingers:

HTH
GL :slight_smile: PJ :v:

Lots more to come. :+1:

Do you know to to fix this error?

devicetree error: 'enable-secure'

Build logs

 *  Executing task: nRF Connect: Generate config nrf54l15dk/nrf54l15/cpuapp for /home/ludovic/workspace/matter_light_bulb 

Building matter_light_bulb
west build --build-dir /home/ludovic/workspace/matter_light_bulb/nRF54 /home/ludovic/workspace/matter_light_bulb --pristine --board nrf54l15dk/nrf54l15/cpuapp --cmake-only -- -DNCS_TOOLCHAIN_VERSION="NONE" -DCONF_FILE="prj_release.conf"

-- west build: generating a build system
Loading Zephyr module(s) (Zephyr base): sysbuild_default
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
Parsing /home/ludovic/workspace/matter_light_bulb/Kconfig.sysbuild
Loaded configuration '/home/ludovic/workspace/matter_light_bulb/nRF54/_sysbuild/empty.conf'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/sysbuild.conf'
Configuration saved to '/home/ludovic/workspace/matter_light_bulb/nRF54/zephyr/.config'
Kconfig header saved to '/home/ludovic/workspace/matter_light_bulb/nRF54/_sysbuild/autoconf.h'
-- 
   *****************************
   * Running CMake for mcuboot *
   *****************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/ludovic/ncs/v2.9.2/bootloader/mcuboot/boot/zephyr
-- CMake version: 3.21.0
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Zephyr version: 3.7.99 (/home/ludovic/ncs/v2.9.2/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
-- Found host-tools: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
-- Found Dtc: /home/ludovic/ncs/toolchains/b77d8c1312/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /home/ludovic/ncs/v2.9.2/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts
-- Found devicetree overlay: /home/ludovic/workspace/matter_light_bulb/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l15_cpuapp.overlay
unit address and first address in 'reg' (0x5004c000) don't match for /soc/peripheral@50000000/vpr@4c000/mailbox@1
-- Generated zephyr.dts: /home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot/zephyr/include/generated/zephyr/devicetree_generated.h
-- Including generated dts.cmake file: /home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot/zephyr/dts.cmake

warning: Experimental symbol ISR_TABLES_LOCAL_DECLARATION is enabled.

Parsing /home/ludovic/ncs/v2.9.2/bootloader/mcuboot/boot/zephyr/Kconfig
Loaded configuration '/home/ludovic/ncs/v2.9.2/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_defconfig'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/sysbuild/mcuboot/prj.conf'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/sysbuild/mcuboot/boards/nrf54l15dk_nrf54l15_cpuapp.conf'
Merged configuration '/home/ludovic/ncs/v2.9.2/nrf/subsys/partition_manager/ext_flash_mcuboot_secondary.conf'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot/zephyr/.config.sysbuild'
Configuration saved to '/home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot/zephyr/.config'
Kconfig header saved to '/home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot/zephyr/include/generated/zephyr/autoconf.h'
-- Found GnuLd: /home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version "2.38") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Setting build type to 'MinSizeRel' as none was specified.
-- Using ccache: /home/ludovic/ncs/toolchains/b77d8c1312/usr/bin/ccache
MCUBoot bootloader key file: /home/ludovic/ncs/v2.9.2/bootloader/mcuboot/root-rsa-2048.pem
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ludovic/workspace/matter_light_bulb/nRF54/mcuboot
-- 
   ***************************************
   * Running CMake for matter_light_bulb *
   ***************************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/ludovic/workspace/matter_light_bulb
-- CMake version: 3.21.0
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Zephyr version: 3.7.99 (/home/ludovic/ncs/v2.9.2/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
-- Found host-tools: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
-- Found Dtc: /home/ludovic/ncs/toolchains/b77d8c1312/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /home/ludovic/ncs/v2.9.2/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts
-- Found devicetree overlay: /home/ludovic/workspace/matter_light_bulb/boards/nrf54l15dk_nrf54l15_cpuapp.overlay
unit address and first address in 'reg' (0x5004c000) don't match for /soc/peripheral@50000000/vpr@4c000/mailbox@1
-- Generated zephyr.dts: /home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb/zephyr/zephyr.dts
-- Generated devicetree_generated.h: /home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb/zephyr/include/generated/zephyr/devicetree_generated.h
-- Including generated dts.cmake file: /home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb/zephyr/dts.cmake

warning: PRINTK (defined at subsys/debug/Kconfig:220) was assigned the value 'n' but got the value
'y'. See http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_PRINTK and/or look up PRINTK in
the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration
Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too.


warning: Deprecated symbol NET_SOCKETS_POSIX_NAMES is enabled.

Parsing /home/ludovic/workspace/matter_light_bulb/Kconfig
Loaded configuration '/home/ludovic/ncs/v2.9.2/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_defconfig'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/prj_release.conf'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb/zephyr/.config.sysbuild'
Configuration saved to '/home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb/zephyr/.config'
Kconfig header saved to '/home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb/zephyr/include/generated/zephyr/autoconf.h'
-- Found GnuLd: /home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version "2.38") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
=========== Generating psa_crypto_config ===============
Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
Backup: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
Backup: CONFIG_MBEDTLS_THREADING: False
Backup: CONFIG_MBEDTLS_THREADING_ALT: True
=========== Checkpoint: backup ===============
Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
Restore: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
Restore: CONFIG_MBEDTLS_THREADING: False
Restore: CONFIG_MBEDTLS_THREADING_ALT: True
=========== End psa_crypto_config ===============
=========== Generating psa_crypto_library_config ===============
Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
Backup: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
Backup: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
Backup: CONFIG_MBEDTLS_THREADING: False
Backup: CONFIG_MBEDTLS_THREADING_ALT: True
=========== Checkpoint: backup ===============
Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
Restore: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
Restore: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
Restore: CONFIG_MBEDTLS_THREADING: False
Restore: CONFIG_MBEDTLS_THREADING_ALT: True
=========== End psa_crypto_library_config ===============
################### OPENTHREAD REPORT ###################
+ Target device: nrf54l15
+ Thread version: v1.4
+ OpenThread library feature set: Full Thread Device (FTD)
+ Thread device type: Full End Device (FED)
+ OpenThread Library: openthread/lib/nrf54l15_cpuapp/soft-float/v1.4/ftd/
+ OpenThread NCS revision: ncs-thread-reference-20241002
+ OpenThread NCS SHA: ee86dc26d
+ NCS revision: v2.9.1-38-g4ab7b98fc7
+ NCS SHA: 4ab7b98fc7
+ No differences in the used Thread library in comparison to the NCS v2.8.0 release.
###################        END        ###################
-- Setting build type to 'MinSizeRel' as none was specified.
-- Using ccache: /home/ludovic/ncs/toolchains/b77d8c1312/usr/bin/ccache
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python (found version "3.12.4") found components: Interpreter 
-- Including signing script: /home/ludovic/ncs/v2.9.2/nrf/cmake/sysbuild/image_signing.cmake
CMake Warning at /home/ludovic/ncs/v2.9.2/zephyr/CMakeLists.txt:2133 (message):
  __ASSERT() statements are globally ENABLED


-- Configuring done
-- Generating done
-- Build files have been written to: /home/ludovic/workspace/matter_light_bulb/nRF54/matter_light_bulb
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python3.12 (found version "3.12.4") found components: Interpreter 
-- Found partition manager static configuration : /home/ludovic/workspace/matter_light_bulb/pm_static_nrf54l15dk_nrf54l15_cpuapp.yml
Partition 'mcuboot' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_pad' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_primary' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_primary_app' is not included in the dynamic resolving since it is statically defined.
Partition 'settings_storage' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_secondary' is not included in the dynamic resolving since it is statically defined.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ludovic/workspace/matter_light_bulb/nRF54
 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: nRF Connect: Generate config xiao_nrf54l15/nrf54l15/cpuapp for /home/ludovic/workspace/matter_light_bulb 

Building matter_light_bulb
west build --build-dir /home/ludovic/workspace/matter_light_bulb/xiao /home/ludovic/workspace/matter_light_bulb --pristine --board xiao_nrf54l15/nrf54l15/cpuapp -- -DNCS_TOOLCHAIN_VERSION="NONE" -DCONF_FILE="prj_release.conf"

-- west build: generating a build system
Loading Zephyr module(s) (Zephyr base): sysbuild_default
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: xiao_nrf54l15, qualifiers: nrf54l15/cpuapp
Parsing /home/ludovic/workspace/matter_light_bulb/Kconfig.sysbuild
Loaded configuration '/home/ludovic/workspace/matter_light_bulb/xiao/_sysbuild/empty.conf'
Merged configuration '/home/ludovic/workspace/matter_light_bulb/sysbuild.conf'
Configuration saved to '/home/ludovic/workspace/matter_light_bulb/xiao/zephyr/.config'
Kconfig header saved to '/home/ludovic/workspace/matter_light_bulb/xiao/_sysbuild/autoconf.h'
-- 
   *****************************
   * Running CMake for mcuboot *
   *****************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/ludovic/ncs/v2.9.2/bootloader/mcuboot/boot/zephyr
-- CMake version: 3.21.0
-- Found Python3: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Zephyr version: 3.7.99 (/home/ludovic/ncs/v2.9.2/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: xiao_nrf54l15, qualifiers: nrf54l15/cpuapp
-- Found host-tools: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/b77d8c1312/opt/zephyr-sdk)
-- Found Dtc: /home/ludovic/ncs/toolchains/b77d8c1312/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /home/ludovic/ncs/v2.9.2/zephyr/boards/arm/xiao_nrf54l15/xiao_nrf54l15_nrf54l15_cpuapp.dts
-- Found devicetree overlay: /home/ludovic/workspace/matter_light_bulb/sysbuild/mcuboot/app.overlay
devicetree error: 'enable-secure' appears in /soc/peripheral@50000000/vpr@4c000 in /home/ludovic/workspace/matter_light_bulb/xiao/mcuboot/zephyr/zephyr.dts.pre, but is not declared in 'properties:' in /home/ludovic/ncs/v2.9.2/zephyr/dts/bindings/riscv/nordic,nrf-vpr-coprocessor.yaml
CMake Error at /home/ludovic/ncs/v2.9.2/zephyr/cmake/modules/dts.cmake:295 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

Call Stack (most recent call first):
  /home/ludovic/ncs/v2.9.2/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
  /home/ludovic/ncs/v2.9.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  /home/ludovic/ncs/v2.9.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:12 (find_package)


-- Configuring incomplete, errors occurred!
CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
  CMake configure failed for Zephyr project: mcuboot

  Location: /home/ludovic/ncs/v2.9.2/bootloader/mcuboot/boot/zephyr/
Call Stack (most recent call first):
  cmake/modules/sysbuild_images.cmake:20 (ExternalZephyrProject_Cmake)
  cmake/modules/sysbuild_default.cmake:20 (include)
  /home/ludovic/ncs/v2.9.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
  /home/ludovic/ncs/v2.9.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  /home/ludovic/ncs/v2.9.2/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
  template/CMakeLists.txt:10 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/ludovic/workspace/matter_light_bulb/xiao/CMakeFiles/CMakeOutput.log".
FATAL ERROR: command exited with status 1: /home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/cmake -DWEST_PYTHON=/home/ludovic/ncs/toolchains/b77d8c1312/usr/local/bin/python3.12 -B/home/ludovic/workspace/matter_light_bulb/xiao -GNinja -DBOARD=xiao_nrf54l15/nrf54l15/cpuapp -DNCS_TOOLCHAIN_VERSION=NONE -DCONF_FILE=prj_release.conf -S/home/ludovic/ncs/v2.9.2/zephyr/share/sysbuild -DAPP_DIR:PATH=/home/ludovic/workspace/matter_light_bulb

 *  The terminal process terminated with exit code: 1.

Regards

Hi there,

So, you may want to build a MCUBoot sample with a blinky or something basic first for nrf54L15 Xiao. Do you have that working ?

The error is called out in the output, btw :+1:

" devicetree error: ‘enable-secure’ appears in /soc/peripheral@50000000/vpr@4c000 in /home/ludovic/workspace/matter_light_bulb/xiao/mcuboot/zephyr/zephyr.dts.pre, but is not declared in ‘properties:’ in /home/ludovic/ncs/v2.9.2/zephyr/dts/bindings/riscv/nordic,nrf-vpr-coprocessor.yaml
CMake Error at /home/ludovic/ncs/v2.9.2/zephyr/cmake/modules/dts.cmake:295 (execute_process):
execute_process failed command indexes:

1: "Child return code: 1"

—"
Your Zephyr version may need updated, the mis-match is the YamL files don’t match when generated.
The error says Zephyr’s binding for the VPR coprocessor (riscv/nordic,nrf-vpr-coprocessor.yaml) doesn’t define a property named enable-secure, yet your mcuboot Devicetree overlay for the XIAO nRF54L15 is trying to set it:

devicetree error: 'enable-secure' appears in .../zephyr.dts.pre,
but is not declared in 'properties:' in .../nordic,nrf-vpr-coprocessor.yaml

That tracks with the docs: in older Zephyr (3.7.x) the property isn’t present, while in newer Zephyr it is an accepted boolean on that node. Compare:

Your NCS shows Zephyr version: 3.7.99, which still appears to be on the older side of the line for this property, hence the failure.

HTH
GL :slight_smile: PJ :v:

When you built for nrf54l15dk, mcuboot used a board-specific overlay (sysbuild/mcuboot/boards/nrf54l15dk_nrf54l15_cpuapp.overlay) that didn’t set enable-secure, so no error.
When you built for xiao_nrf54l15, mcuboot used sysbuild/mcuboot/app.overlay, which does set enable-secure, tripping the binding check.

Try deleting the line,

Edit the overlay that sysbuild uses for the XIAO mcuboot image (your log shows sysbuild/mcuboot/app.overlay). Find the VPR node (looks like /soc/peripheral@50000000/vpr@4c000 { ... }) and delete the line:

 enable-secure;

:grin:

Oh… so this is probably why my vpr core is stuck in secure mode on one of my 2 nrf54l15’s.

I’m pretty sure I didn’t update the MCUBoot overlay either correctly.

I should figure out who to reach out to at Nordic for support.

I commented out the line as instructed, but unfortunately, I encountered another error.

Yes blinky sample worked the first time I tried.

Yes I tried with nRF SDK v2.9.2. I will move to nRF SDK v3.x.x

@lboue - Hi Ludovic,

Have you progressed any further with this?

It would be nice to have a clear set of statements showing how to build a Matter device for the XIAO NRF54L15 by someone who actually has this working.

Regards, Gary.

Edit> As an aside - I have built Matter based devices for the the NRF52840 and they work fine.

I haven’t made much progress, no.
Still facing an issue with timer definitions (timer10):

 *  Executing task: nRF Connect: Generate config xiao_nrf54l15/nrf54l15/cpuapp for /home/ludovic/workspace/matter_3.0.2_light_bulb 

Building matter_3.0.2_light_bulb
west build --build-dir /home/ludovic/workspace/matter_3.0.2_light_bulb/xiao_nRF54 /home/ludovic/workspace/matter_3.0.2_light_bulb --pristine --board xiao_nrf54l15/nrf54l15/cpuapp -- -DCONF_FILE="prj_release.conf"

-- west build: generating a build system
Loading Zephyr module(s) (Zephyr base): sysbuild_default
-- Found Python3: /home/ludovic/ncs/toolchains/7cbc0036f4/usr/local/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: xiao_nrf54l15, qualifiers: nrf54l15/cpuapp
Parsing /home/ludovic/workspace/matter_3.0.2_light_bulb/Kconfig.sysbuild
Loaded configuration '/home/ludovic/workspace/matter_3.0.2_light_bulb/xiao_nRF54/_sysbuild/empty.conf'
Merged configuration '/home/ludovic/workspace/matter_3.0.2_light_bulb/sysbuild.conf'
Configuration saved to '/home/ludovic/workspace/matter_3.0.2_light_bulb/xiao_nRF54/zephyr/.config'
Kconfig header saved to '/home/ludovic/workspace/matter_3.0.2_light_bulb/xiao_nRF54/_sysbuild/autoconf.h'
-- 
   *****************************
   * Running CMake for mcuboot *
   *****************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/ludovic/ncs/v3.0.2/bootloader/mcuboot/boot/zephyr
-- CMake version: 3.21.0
-- Found Python3: /home/ludovic/ncs/toolchains/7cbc0036f4/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Zephyr version: 4.0.99 (/home/ludovic/ncs/v3.0.2/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: xiao_nrf54l15, qualifiers: nrf54l15/cpuapp
-- Found host-tools: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk)
-- Found Dtc: /home/ludovic/ncs/toolchains/7cbc0036f4/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /home/ludovic/ncs/v3.0.2/zephyr/boards/arm/xiao_nrf54l15/xiao_nrf54l15_nrf54l15_cpuapp.dts
-- Found devicetree overlay: /home/ludovic/workspace/matter_3.0.2_light_bulb/sysbuild/mcuboot/app.overlay
devicetree error: clock controller <Node /clocks/hfxo in '/home/ludovic/ncs/v3.0.2/zephyr/misc/empty_file.c'> for <Node /soc/peripheral@50000000/timer@85000 in '/home/ludovic/ncs/v3.0.2/zephyr/misc/empty_file.c'> lacks binding
CMake Error at /home/ludovic/ncs/v3.0.2/zephyr/cmake/modules/dts.cmake:305 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

That would be good, indeed.

Great news. Is with working witth MCUBoot?

Yes, I used MCUBoot and FOTA but didn’t go through the tests. I was hoping the '54L15 would make that easier :thinking:
I just used Segger’s Ozone for testing and debugging.

With the XIAO NRF54L15’s (when they arrive) I’ll use OpenOCD and GDB in VSCode.

I prefer the 'MG24 for all things Zigbee, Matter. Openthread, and BLE/Mesh.

You don’t need to have the card to build the project.
It’s true that debugging with OpenOCD and GDB will help.

Same. It’s definitely easier with Arduino IDE.

If I disable hfxo I am getting this time an GPIO error for uart20:

-- 
   *****************************
   * Running CMake for mcuboot *
   *****************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/ludovic/ncs/v3.0.2/bootloader/mcuboot/boot/zephyr
-- CMake version: 3.21.0
-- Found Python3: /home/ludovic/ncs/toolchains/7cbc0036f4/usr/local/bin/python (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
-- Cache files will be written to: /home/ludovic/.cache/zephyr
-- Zephyr version: 4.0.99 (/home/ludovic/ncs/v3.0.2/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: xiao_nrf54l15, qualifiers: nrf54l15/cpuapp
-- Found host-tools: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (/home/ludovic/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk)
-- Found Dtc: /home/ludovic/ncs/toolchains/7cbc0036f4/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6") 
-- Found BOARD.dts: /home/ludovic/ncs/v3.0.2/zephyr/boards/arm/xiao_nrf54l15/xiao_nrf54l15_nrf54l15_cpuapp.dts
-- Found devicetree overlay: /home/ludovic/workspace/matter_3.0.2_light_bulb/sysbuild/mcuboot/app.overlay
devicetree error: 'default-gpio-port' appears in /soc/peripheral@50000000/spi@c6000 in /home/ludovic/workspace/matter_3.0.2_light_bulb/xiao_nRF54/mcuboot/zephyr/zephyr.dts.pre, but is not declared in 'properties:' in /home/ludovic/ncs/v3.0.2/zephyr/dts/bindings/spi/nordic,nrf-spim.yaml
CMake Error at /home/ludovic/ncs/v3.0.2/zephyr/cmake/modules/dts.cmake:305 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 1"

Call Stack (most recent call first):
  /home/ludovic/ncs/v3.0.2/zephyr/cmake/modules/zephyr_default.cmake:133 (include)
  /home/ludovic/ncs/v3.0.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
  /home/ludovic/ncs/v3.0.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  CMakeLists.txt:18 (find_package)

nrf54l_05_10_15.dtsi

:~/ncs/v3.0.2/zephyr/boards/arm/xiao_nrf54l15$ grep -B7 -rn default-gpio-port *
nrf54l_05_10_15.dtsi-307-                               reg = <0xc6000 0x1000>;
nrf54l_05_10_15.dtsi-308-                               interrupts = <198 NRF_DEFAULT_IRQ_PRIORITY>;
nrf54l_05_10_15.dtsi-309-                               max-frequency = <DT_FREQ_M(8)>;
nrf54l_05_10_15.dtsi-310-                               easydma-maxcnt-bits = <16>;
nrf54l_05_10_15.dtsi-311-                               rx-delay-supported;
nrf54l_05_10_15.dtsi-312-                               rx-delay = <1>;
nrf54l_05_10_15.dtsi-313-                               status = "disabled";
nrf54l_05_10_15.dtsi:314:                               default-gpio-port = <&gpio1>;
--
nrf54l_05_10_15.dtsi-318-                       uart20: uart@c6000 {
nrf54l_05_10_15.dtsi-319-                               compatible = "nordic,nrf-uarte";
nrf54l_05_10_15.dtsi-320-                               reg = <0xc6000 0x1000>;
nrf54l_05_10_15.dtsi-321-                               interrupts = <198 NRF_DEFAULT_IRQ_PRIORITY>;
nrf54l_05_10_15.dtsi-322-                               status = "disabled";
nrf54l_05_10_15.dtsi-323-                               endtx-stoptx-supported;
nrf54l_05_10_15.dtsi-324-                               frame-timeout-supported;
nrf54l_05_10_15.dtsi:325:                               default-gpio-port = <&gpio1>;
--
nrf54l_05_10_15.dtsi-350-                               reg = <0xc7000 0x1000>;
nrf54l_05_10_15.dtsi-351-                               interrupts = <199 NRF_DEFAULT_IRQ_PRIORITY>;
nrf54l_05_10_15.dtsi-352-                               max-frequency = <DT_FREQ_M(8)>;
nrf54l_05_10_15.dtsi-353-                               easydma-maxcnt-bits = <16>;
nrf54l_05_10_15.dtsi-354-                               rx-delay-supported;
nrf54l_05_10_15.dtsi-355-                               rx-delay = <1>;
nrf54l_05_10_15.dtsi-356-                               status = "disabled";
nrf54l_05_10_15.dtsi:357:                               default-gpio-port = <&gpio1>;
--
nrf54l_05_10_15.dtsi-361-                       uart21: uart@c7000 {
nrf54l_05_10_15.dtsi-362-                               compatible = "nordic,nrf-uarte";
nrf54l_05_10_15.dtsi-363-                               reg = <0xc7000 0x1000>;
nrf54l_05_10_15.dtsi-364-                               interrupts = <199 NRF_DEFAULT_IRQ_PRIORITY>;
nrf54l_05_10_15.dtsi-365-                               status = "disabled";
nrf54l_05_10_15.dtsi-366-                               endtx-stoptx-supported;
nrf54l_05_10_15.dtsi-367-                               frame-timeout-supported;
nrf54l_05_10_15.dtsi:368:                               default-gpio-port = <&gpio1>;

I updated the my repo to fix the missing timer.
Still can’t build hpf gpio but hey… it’s new and Tech support is just getting back from vacation so hope abounds.

1 Like

Hi everyone,

We are writing to provide the community with an update on the recent issue regarding compiling Matter examples on the Seeed XIAO nRF54L15.

The root cause is that the Nordic Matter SDK requires A/B flash partitioning to support Over-the-Air (OTA) updates. Official Development Kits (DKs) typically have sufficient space due to external flash. However, to achieve the extremely compact form factor of the XIAO series, we did not include external flash, which led to insufficient internal memory when the default OTA configuration is enabled.

Progress Update: Our engineers are currently testing a solution that uses a compressed partition layout. This version has already been successfully compiled and flashed, and we are now in the process of validating its full functionality and stability.

Next Steps: As soon as our official solution passes all validation tests, we will immediately update the relevant Wiki and GitHub repositories. Please follow this thread for further updates.

Thank you for your patience and support!

Best regards

3 Likes

Thanks for the explanation. It’s a shame that the product is being released before the technologies mentioned in the product description are ready.

Here’s an article with more details:
Exploring the benefits of MCUboot’s compressed image support

1 Like

Hi there,

SOAPBOX ON…

I must say this is a LARGE disappointment, even Nordics own Dev kit has a external (onboard flash) chip. as Does the Nrf52840 Xiao. The whole compressed partition scheme is a bandaid on a flesh wound., a.k.a. " Gimmick ".
You guys better add a flash to the final version or your wasting the opportunity to really effectively use ALL the features the device brings.

Luckily it’s just pre release… :sweat_smile: :crossed_fingers:

AS you were…

and bring Back the RGB led. ASAP!

That is all…
GL :slight_smile: PJ :v:

You prove you can fit it , Now get it right! :+1:

Or you could just use the XIAO MG24.
More stable platform and development environment.
Does it all correctly and works with OTA (Matter and Zigbee, BLE and proprietary - all of which are stable).
NRF54L15 - this Juice is Not Worth the Squeeze :smiley: