This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to load app and network core of nrf5340 at once

Hi,

I am trying to bring up open AMP application on nrf5340.

As previously known, this is used for exchanging specific data between the app core and the network core.

The sample application consists of 2 main.c, one for each core. How can this be run on nrf5340?

1. Can we build the corresponding application as nrf5340pdk_nrf5340_cpunet and nrf5340pdk_nrf5340_cpuapp and flash the 2 individual solution zephyr image? Will this work?

2. If not, how to load both the cores at once? We are using SEGGER embedded tool for flashing and debugging.

3. We went through the hci_rpmsg sample application in the nrf5340 PDK. Here, there is a single main file and the flow is similar to openAMP. However, is this data transfer across app core and network core? If so, how can we understand what gets loaded to the app core and what will be loaded to application core?

Regards,

Divya

Parents
  • Hi,

    1. Building the separate parts and flashing the two resulting images has worked for me.

    2. In my experience, SEGGER does not seem to support flashing to both cores at once. My best advice at this point is to flash the images with nRF Connect Programmer.

    3. When building hci_rpmsg for the network core, a bluetooth host stack should be programmed to the app core. A friend of mine put together this simple example based on hci_rpmsg and the rpmsg_nrf53 driver found in zephyr\drivers\bluetooth\hci. Maybe that example can help illustrate the functionality. Please mark that it has omitted bluetooth functionality. 
    I general, applications for the app core which needs hci_rpmsg support can include it as a sub-image, which you can find more info on here. The result from a multi image build will be both individual images for the two cores, as well as a merged image. 

    Regards,

    Maria

  • Hi Maria,

    Thanks for the support.

    The example you provided was helpful. With this example and nRF Connect Programmer, the data exchange is possible. However,

    1. We cannot see the network core's output on the console by default. Refer here. Is there any way, this can be enabled?

    2. Also, once we use nRF Connect Programmer to flash, is there any possible way to debug the loaded program like how we do in SEGGER?

    Regards,

    Divya

Reply Children
Related