Migrating to nRF5340 from nRF52832 and NRF5 SDK and several questions about nRF Connect SDK

Hi!

We've been using nRF52832 and the NRF5 SDK in our products for a while now, and we have a pretty stable platform. However, the dual core capabilites of the nRF5340 seem very interesting, so we've started looking into this. I have several questions that came up while reading the documentation and trying the example projects:

1) First and most important: is there any way to run the BLE stack on the network core and use the application core without any RTOS or SDK code? Like almost bare metal, just maybe using nrfx drivers or something like that. One of the reasons the dual core seems appealing for us is that we could segregate BLE code from application code, which for medical applications is very good, because the BLE code is no longer safety critical. If that's not possible, could we run a safety certified RTOS on the application core, without using the nRF Connect SDK and run the BLE code on the network core? The goal here is to isolate safety critical code from un-certified code.

2) Is there any guide to migrate from the NRF5 SDK to the nRF Connect SDK? 

3) What does "pre-certified" mean here: link. Are we just talking about protocol compliance?

4) Is there any way to perform offline installations? It's very important for us to be able to reproduce a specific configuration, sometimes years after release. With the zip file distribution model, that was fairly simple as we just backed up the files. With the new github distribution model, how can this be acomplished?

5) Do we have control over compiler and linker configuration settings? The old Segger and IAR projects had all configurations available, but I can't find those for the new VSCode projects, they seem to be hidden behind the plugins.

6) Does Zephyr have any sort of certifications?

7) Is Zephyr (including the BLE controller) open source? Are the Soft Device controllers included in the Connect SDK open source or still distributed as binaries?

Sorry for the multiple questions but, while the new nRF chips seem very appealing, we have a lot of uncertainty regarding how the firmware ecosystem works now and whether it's a good fit for us.

Thank you for your time!
Federico

  • is there any way to run the BLE stack on the network core and use the application core without any RTOS or SDK code?

    While it is possible, I would not recommend doing so, as it will be quite complicated. We deliver the nRF Connect SDK to give you a lot of free help to develop on our increasingly complicated hardware.

    I do not have a full overview over all the inner workings of the nRF5340, nor do any of my colleagues in technical support. We have developers in Nordic who wrote the drivers to handle all of this, but they will most likely not support customers who want to start again and not use the work they did.
    However, if you must, the two different cores can run two different applications. For the network core, you can build an application for only the network, and it will work for the network core as standalone.

    For bare metal, our nRF5340 Product Specification should describe all you need. Also keep in mind the erratas of course.
    I think you might have to do some handling of shared peripherals and such from the cores. See the Product Spec for that.
    Then you need inter-core communication, which we provide an IPC driver for. The IPC driver is rarely used directly by our applications, as libraries mostly use it instead.

    2) Is there any guide to migrate from the NRF5 SDK to the nRF Connect SDK? 

    No. See  RE: Help migrating from NRF5 SDK to NRF Connect SDK

    3) What does "pre-certified" mean here: link. Are we just talking about protocol compliance?

    Mostly yes, see https://infocenter.nordicsemi.com/topic/comp_matrix_nrf5340/COMP/nrf5340/nrf5340_comp_matrix.html?cp=4_0_3
    However, it also applies to PSA Certification for security.

    I can not think of other certifications from the top of my head. Do you wonder about any specific ones?

    4) Is there any way to perform offline installations? It's very important for us to be able to reproduce a specific configuration, sometimes years after release. With the zip file distribution model, that was fairly simple as we just backed up the files. With the new github distribution model, how can this be acomplished?

    The nRF Connect SDK is just a set of folders and files. You can just zip it after install.
    For the toolchain following this, I do not think we have any way to freeze all of it as is (such as python or cmake versions etc). But that you should be able to do. Installing it all in a Virtual Machine and then saving would probably be a way of freezing it as well I think.

    5) Do we have control over compiler and linker configuration settings? The old Segger and IAR projects had all configurations available, but I can't find those for the new VSCode projects, they seem to be hidden behind the plugins.

    You can see the full build commands with "west -vvv build ...".
    To read about how Zephyr does its compiling and linking, see developer.nordicsemi.com/.../index.htmlBuild and Configuration Systems. For example from CMake:

    6) Does Zephyr have any sort of certifications?

    Is this not the same as 3)? If not, can you clarify?

    7) Is Zephyr (including the BLE controller) open source? Are the Soft Device controllers included in the Connect SDK open source or still distributed as binaries?

    Zephyr BLE Controller is open source. The SoftDevice Controller not open source.
    Both are used alongside the Open Source BLE Host.

    Regards,
    Sigurd Hellesvik

Related