Encounter device tree build error when building zephyr BLE peripheral example with zephyr LL software stack (NCS 2.7.0 -> NCS 2.9.0)

Hi,

I am encountering the following build error with the BLE peripheral example after migrating from NCS 2.7.0 to 2.9.0 and when CONFIG_BT_LL_SW_SPLIT=y is set in prj.conf, and I am using a nRF52 DK.

/toolchains/b8efef2ad5/Cellar/cmake/3.21.0/bin/cmake -E true
/opt/nordic/ncs/toolchains/b8efef2ad5/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/subsys/bluetooth/host/libsubsys__bluetooth__host.a(hci_core.c.obj):(.data.bt_dev+0x16c): undefined reference to `__device_dts_ord_110'
collect2: error: ld returned 1 exit status

The example seems to build fine with 2.7.0 using the zephyr LL software stack, so I am wondering if there are changes that I will need to make either in prj.conf or the dts file to get the application to build correctly. 

I was also looking at the change log for Zephyr 3.7.0 which is included in NCS 2.6.0, and it looks like they went through a redesign of the zephyr HCI driver and the compiler is now looking for a zephyr,bt-hci chosen property. Therefore, I have added zephyr,bt-hci = &bt_hci_controller to my device tree file, but I ended up getting the same error and with the DEVICE_NAME_GET macro.

Any help would be greatly appreciated! I understand that the soft-device stack is preferable, but I would like to stick with the Zephyr stack for now for the flash space benefits.

Parents Reply
  • We recommend using the Softdevice controller. We are contributing to the development of the open source Zephyr controller as well, but we are not doing the Bluetooth qualification (Bluetooth DNs and QDIDs) and SDK release testing for this controller as we are doing for the softdevice controller. I would be happy to investigate the build issue you're experiencing with the softdevice controller if you could create a private ticket and provide your board files (if you have defined your own SDK board) and project.

Children
Related