Replace Zephyr BLE stack with NCS BLE

I have very advanced project based on nrf52840dk for dev and custom boards for prod.

The development environment is based on zephyr build dockers. Zephyr is 3.5.0.

I would need to change the Zephyr BLE stack into NCS one (NCS is not currently used or installed in project).

Most tutorials describe how to create vanilla projects or assume NCS is installed.

What would be the easiest way to incorporate NCS BLE into existing project? 

Parents
  • The best way to go forth would be to start with the nRF Connect SDK and work from there to integrate your zephyr project.

    Regards,

    Jonathan 

  • Hi. Thanks for reaching out. Of course I cannot afford this way. We have an ongoing product development setup which is quite significantly customized to our needs. I need to find a way to integrate NCS or at least its BLE stack on top of existing zephyr 3.5.0. So far I combined manifests to pull nrf and nrfxlib repos as I think both will be needed.

    We are using only below includes.

    #include <zephyr/bluetooth/bluetooth.h>
    #include <zephyr/bluetooth/hci.h>
    #include <zephyr/bluetooth/conn.h>
    #include <zephyr/bluetooth/uuid.h>
    #include <zephyr/bluetooth/gatt.h>

    I think I would need to replace LL with Softdevice and then do some magic in cmake files to set proper constants (which one) and pull NCS sources when needed. The difficulty also lies that I do not understand fully to what extend NCS BLE and Zephyr BLE are interconnected. In different words what parts of BLE stack I need to replace with NCS counterpart?

    Any help with above would be welcome.

Reply
  • Hi. Thanks for reaching out. Of course I cannot afford this way. We have an ongoing product development setup which is quite significantly customized to our needs. I need to find a way to integrate NCS or at least its BLE stack on top of existing zephyr 3.5.0. So far I combined manifests to pull nrf and nrfxlib repos as I think both will be needed.

    We are using only below includes.

    #include <zephyr/bluetooth/bluetooth.h>
    #include <zephyr/bluetooth/hci.h>
    #include <zephyr/bluetooth/conn.h>
    #include <zephyr/bluetooth/uuid.h>
    #include <zephyr/bluetooth/gatt.h>

    I think I would need to replace LL with Softdevice and then do some magic in cmake files to set proper constants (which one) and pull NCS sources when needed. The difficulty also lies that I do not understand fully to what extend NCS BLE and Zephyr BLE are interconnected. In different words what parts of BLE stack I need to replace with NCS counterpart?

    Any help with above would be welcome.

Children
Related