Zephyr BLE Controller Nordic HW no longer related to SoftDevice?


frv
 

Hi Community, Carles,

 

Without having looking into the details for the HCI_UART implementation when using Zephyr RTOS as SW platform for implementing the BLE controller on Nordic HW, the SoftDevice is no longer present in the SW stack. Correct?

 

Is it further correct to say that the SoftDevice SW which is Nordic specific replaces the standard HCI way on which BlueZ is based.  

 

I base my understandings on this nice written document:

https://www.zephyrproject.org/building-a-qualified-ble-controller-with-zephyr-os-1-9/

 

Thanks in advance,

Best regards,

Frank


Carles Cufi
 

Hi Frank,

 

The SoftDevice is Nordic’s proprietary BLE protocol stack. It consists of a binary blob that is flashed at the beginning of the flash memory and can be accessed through SV calls, and it is designed to be the arbitrator to control access to certain hardware on the chip. This is incompatible with Zephyr, which already includes a completely different BLE stack which is open source and located in subsys/bluetooth/.

So the answer to your first question is that the SoftDevice cannot be combined with Zephyr, and you should not need to do so since Zephyr already has its own BLE stack.

 

The answer to the second question is also “yes”. The SoftDevice doesn’t expose an HCI interface, making it unsuitable for use as a BLE Controller, which is what BlueZ requires. Zephyr on the other hand can be built to expose an HCI interface (hci_uart) to work with BlueZ.

 

Carles

 

From: devel@... <devel@...> On Behalf Of frv
Sent: 20 November 2018 10:53
To: devel@...
Subject: [Zephyr-devel] Zephyr BLE Controller Nordic HW no longer related to SoftDevice?

 

Hi Community, Carles,

 

Without having looking into the details for the HCI_UART implementation when using Zephyr RTOS as SW platform for implementing the BLE controller on Nordic HW, the SoftDevice is no longer present in the SW stack. Correct?

 

Is it further correct to say that the SoftDevice SW which is Nordic specific replaces the standard HCI way on which BlueZ is based.  

 

I base my understandings on this nice written document:

https://www.zephyrproject.org/building-a-qualified-ble-controller-with-zephyr-os-1-9/

 

Thanks in advance,

Best regards,

Frank


frv
 

Hi Carles,

Great! Thanks for your confirmation on my observations regarding the Nordic SoftDevice and the Zephyr implementation.

I think for a BLE host (central role) implementation we will forward for the 2 boards solutions, running on the BLE host board a Linux OS that uses a BLE SW framework (e.g. QT BLE) that is BlueZ based and using the Nordic HW board as connectivity chip, the BLE controller based on Zephyr. 

Nevertheless if Nordic's PC BLE driver SW stack becomes more mature and stable it might also be a solution.
However my experience with running Zephyr on the Nordic nRF52 is so far great, so it will be hard to move back to the "serialization solution" of Nordic that is also nice. 

Best regards,
Frank