BLE stack for networking core

We are looking to move from STM32WB55 to Nordic.

I am use to developing firmware in the NXP and STM environments, looking at documentation for register address or examples for HAL calls to make hardware work, so Nordic and Zephyr is a larger change.

With STM32WB you run your application on a M4 and load the BLE stack into a M0 co-processor.  The stack and application use a inter-process API to communicate.

From what I read Nordic nRF5340 does more or less the same.. The current outstanding question, after 1 day of reading documentation, is where is the BLE stack?

Question 1:
Does Nordic provide BLE stack bins that we load to the network processor, do we compile our own, or something else?


I ran across SoftDevice Controller but if this is what goes on the network core its not clear how as its offered as a lib.

A side note: We are looking to leave STM due to the BLE stack being buggy. I am excited by many things Nordic appears to be pulling together in one place, but am having a devil of a time understanding how its all suppose to fit together.

Question 2:
Is there a nice graph some place that details how all the drivers/libs are suppose to come together?

Thanks

Parents
  • Hi,

    Question 1:
    Does Nordic provide BLE stack bins that we load to the network processor, do we compile our own, or something else?


    I ran across SoftDevice Controller but if this is what goes on the network core its not clear how as its offered as a lib.

    You need to build the code for the network core. For most BLE applications that will be based on the Bluetooth: HCI RPMsg (often without any modifications). This in turn includes the SoftDevice controller, which is a binary library.

    A side note: We are looking to leave STM due to the BLE stack being buggy. I am excited by many things Nordic appears to be pulling together in one place, but am having a devil of a time understanding how its all suppose to fit together.

    I recommend you have a look at the nRF Connect SDK Fundamental course in the Nordic Developer Academy if you are new to nRF Connect SDK. This will give you a very good introduction to how the SDK is organized and used.

    Question 2:
    Is there a nice graph some place that details how all the drivers/libs are suppose to come together?

    The figure in the beginning of this tutorial gives a good overview of the nRF Connect SDK Bluetooth stack. For other drivers that depend, so I do not think there is a unifying figure that shows it all.

Reply
  • Hi,

    Question 1:
    Does Nordic provide BLE stack bins that we load to the network processor, do we compile our own, or something else?


    I ran across SoftDevice Controller but if this is what goes on the network core its not clear how as its offered as a lib.

    You need to build the code for the network core. For most BLE applications that will be based on the Bluetooth: HCI RPMsg (often without any modifications). This in turn includes the SoftDevice controller, which is a binary library.

    A side note: We are looking to leave STM due to the BLE stack being buggy. I am excited by many things Nordic appears to be pulling together in one place, but am having a devil of a time understanding how its all suppose to fit together.

    I recommend you have a look at the nRF Connect SDK Fundamental course in the Nordic Developer Academy if you are new to nRF Connect SDK. This will give you a very good introduction to how the SDK is organized and used.

    Question 2:
    Is there a nice graph some place that details how all the drivers/libs are suppose to come together?

    The figure in the beginning of this tutorial gives a good overview of the nRF Connect SDK Bluetooth stack. For other drivers that depend, so I do not think there is a unifying figure that shows it all.

Children
Related