[Request] Zigbee tutorial for XIAO nRF54L15

Hi,
I try what you describe but i get this error:

E: ***** MPU FAULT *****
E:   Instruction Access Violation
E: r0/a1:  0x20001258  r1/a2:  0x00000001  r2/a3:  0x20005c80
E: r3/a4:  0x5600693f r12/ip:  0x000000ff r14/lr:  0x0000747b
E:  xpsr:  0x09100000
E: s[ 0]:  0x00008601  s[ 1]:  0x20001258  s[ 2]:  0x20001294  s[ 3]:  0x000075ab
E: s[ 4]:  0x00000000  s[ 5]:  0x00000001  s[ 6]:  0xffffffff  s[ 7]:  0x200061d0
E: s[ 8]:  0x0005e548  s[ 9]:  0x0005e560  s[10]:  0x2000c7f0  s[11]:  0x00018d95
E: s[12]:  0xffffffff  s[13]:  0xffffffff  s[14]:  0xffffffff  s[15]:  0x000507f7
E: fpscr:  0x000507e9
E: Faulting instruction address (r15/pc): 0x5600693e
E: >>> ZEPHYR FATAL ERROR 20: Unknown error on CPU 0
E: Current thread: 0x20005c80 (unknown)
I: nRF5 802154 radio initialized
E: ***** MPU FAULT *****
2 Likes

tutorials would really be nice… i think the problem is they dont know how it works either…

2 Likes

I managed to get the light_bulb sample working. Here are the steps I followed:

  1. Install Zigbee R23 as described here:
    Technical Documentation
  2. In the light_bulb sample, I:
  • Created the file
    boards\xiao_nrf54l15_nrf54l15_cpuapp.overlay
    with the following content:
/ {
	chosen {
		ncs,zigbee-timer = &timer20;
	};
};

// Restore full RRAM and SRAM space - by default some parts are dedicated to FLRP
&cpuapp_rram {
	reg = <0x0 DT_SIZE_K(1524)>;
};

&cpuapp_sram {
	reg = <0x20000000 DT_SIZE_K(256)>;
	ranges = <0x0 0x20000000 0x40000>;
};

// TODO: re-enable HWFC once it's fixed
&uart20 {
	/delete-property/ hw-flow-control;
};

&timer20 {
	status = "okay";
};

// Disable lsm6dso to avoid MPU FAULT error
&lsm6dso {
	status = "disabled";
};

// Disable uart21 to avoid MPU FAULT error
&uart21 {
	status = "disabled";
};
  1. In the file
    platform-seeedboards/zephyr/boards/arm/xiao_nrf54l15/Kconfig.defconfig,
    I replaced:
config HAS_BT_CTLR
	default BT

with:

config BT_CTRL
	bool
	default BT

However, I don’t understand why uart21 triggers an MPU FAULT. This is annoying because it prevents me from using the UART on pins D6/D7.
If anyone has a solution, I’d be very interested.

2 Likes

Thanks for the updated summary. I have the code working and connected to my (Zigbee2MQTT based) network.

BTW - The ZCL Attribute 0x4003 (Start Up On/Off) of the Light Cluster (0x0006), isn’t implemented :thinking:

Has anyone managed to get ZAP working with NRF-SDK and Zigbee?