nRF Connect SDK 2.3.0 with nRF5340 -- I'm loading a BLE example on Network core. What do I need to load on Application Core?

Hi all,

I have plenty of experience with the Old SDK, IAR/Keil/SES, nRF51, nRF52, Soft Device, etc. However, I'm new to the nRF Connect SDK, VS Code and nRF5340. I've successfully set the environment up and succesfully played with the "blinky" example application.

Now I'm moving on to BLE ...

I'm loading a BLE example on Network core (nrf/samples/bluetooth/peripheral_uart). I read that I need to load a "bare bones" example application on the Application core that only turns on the Network core. What is it called? I don't seem to find that example.

Also, do I still have to load the Soft Device on the Network core too? Like we used to do with the Old SDK, nRF52, etc? If so, how do you suggest I do that? With the nRFConnect Windows App? And where are the Soft Devices in this SDK folder structure?

Please help! Slight smile

Thanks!

Gil

Parents
  • OK, I have updates:

    I have an answer for part of my concerns. I've found the "bare bones" app for the Application Core: nrf/samples/nrf5340/empty_app_core

    I still have 2 questions:

    1) The "empty_app_core" is still functional enough that I can eventually add code for a slave SPI interface to an STM32 Host, and a master QSPI interface to a nRF7002, correct? Basically, my system has a STM32 Host talking to the nRF5340 Application Core. The nRF5340 Application Core will be the host to the Network Core (for BLE) and to a nRF7002 (for Wi-Fi).

    2) [same as my original post] Do I still have to load the Soft Device on the Network core too? (like we used to do with the Old SDK, nRF52, etc). If so, how do you suggest I do that? With the nRFConnect Windows App? And where are the Soft Devices in this SDK folder structure?

    Thanks again! Slight smile

Reply
  • OK, I have updates:

    I have an answer for part of my concerns. I've found the "bare bones" app for the Application Core: nrf/samples/nrf5340/empty_app_core

    I still have 2 questions:

    1) The "empty_app_core" is still functional enough that I can eventually add code for a slave SPI interface to an STM32 Host, and a master QSPI interface to a nRF7002, correct? Basically, my system has a STM32 Host talking to the nRF5340 Application Core. The nRF5340 Application Core will be the host to the Network Core (for BLE) and to a nRF7002 (for Wi-Fi).

    2) [same as my original post] Do I still have to load the Soft Device on the Network core too? (like we used to do with the Old SDK, nRF52, etc). If so, how do you suggest I do that? With the nRFConnect Windows App? And where are the Soft Devices in this SDK folder structure?

    Thanks again! Slight smile

Children
  • Hell Gil,

    Thank you for contacting DevZone at NordicSemi.

    It is good to know that you are moving forward with nCS + VSCode environment. It is also great to know that you are coming with a experienced background.

    As for your question is concerned, I can see that you are using nrf5340 which is a dual-core (appcpu + netcpu) SoC. At start, I guess it will easy to explore the possibilities, usecases and samples using a single core SoC like nrf52.

    Nonetheless, starting with blinky app is good to show that your hardware + software environment is all set.

    Next, as you are using Peripheral_Uart sample, and you want to run it on the net-core, and you have already discovered the empty sample for app-core. Here are nrf5340 specific samples available in nCS.

    Coming to your 2 current questions:
    1) "The "empty_app_core" is still functional enough..."
    Yes you can do that. You can do any configuration like, Running empty firmware on Appcore, Running empty firmware on Netcore, or using both of the cores.

    However, using Empty_App_Core Sample, you can run an application on the network core of the nRF5340 when there is no need for the working application core.


    2) No. You don't need to load or search for softdevice. In fact, in nCS, we have two implementations of a BLE Controller known as "Softdevice Controller" and "Zephyr BLE Controller". The SoftDevice Controller is implemented by Nordic while the Zephyr BLE Controller is an open source LL developed in Zephyr.

    When developing BLE applications, you must include a BLE Controller.


    I recommend you looking at basic samples and their configurations. You will find these in the proj.conf file(s) and can check about these configurations using Konfig Reference.

    Regards,

    Naeem

  • Hi Naeem,

    Thank you for the information. I have done the following:

    1. Application core: Successfully build and flashed "nrf/samples/nrf5340/empty_app_core"

    2. Network core: Successfully build and flashed "nrf/samples/bluetooth/peripheral_uart"

    3. Reset the DK board

    I made sure the correct configurations were properly created with the respective "..._cpuapp" and "..._cpunet" and the correct board, apps and cores selected. The builds and flashing were successful and the output/terminal on VS Code showed on the messages.

    Well, unfortunately the board is not advertising. Something is missing.

    To remind you, I'm using a nRF7002 DK board and nRF Connect SDK 2.3.0-rc1

    Are the sample apps above for the nRF7002 DK as well? Or only for the nRF5340 DK?

    Also, the documentation says that the SoftDevice Controller is by default already configured in the BLE samples, so I don't need to edit prj.conf ... isn't that right? So there is nothing to do as mentioned in "Usage in Samples" here: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/protocols/ble/index.html

    What do you think is going on? Maybe it's a jumper or solder bridge on the nRF7002 DK board? Maybe there is something to do to include the SoftDevice Controller.

    Please help. Thank you.

    Gil

  • Hi Gil,

    thank you for clarifying that you are using 7002DK.

    I will test the setup you have described and will let you know accordingly.

    Regards,

    Naeem

Related