u-blox / XPLR-IOT-1-software

6 stars 14 forks source link

Set up image for network core #1

Closed dariosortino closed 1 year ago

dariosortino commented 1 year ago

Hello! I was exploring the repo and I couldn't find where the configuration to build also for the Network Core are. We don't have any child_image folder in the repo, so how do you state what code will be run in the Network Core? Assuming we are going for a _simplehex build.

Chatzidimitriou commented 1 year ago

Hello @dariosortino,

it is possible to build a BLE project on nRF53 without creating a child_image folder.

The code for the network core is automatically included and build, because in your prj.conf file you have options that enable BLE functionality (such as CONFIG_BT=y).

After building, if you access the build folder, you will find inside it a folder named hci_rpmsg. The hci_rpmsg folder contains the binary files generated during the build process for the Host Controller Interface (HCI) over Remote Processor Message (RPMsg) transport. This is a communication protocol used between the Bluetooth Low Energy controller (network core) and the application core. The folder and its contents are necessary for the correct functioning of the Bluetooth Low Energy controller and the RPMsg transport on Nordic nRF53 devices.

In general, a child_image folder is not necessary for simple Bluetooth Low Energy projects that do not require a bootloader or OTA support.

A child image folder is typically used in nRF Connect projects that have a bootloader or support over-the-air (OTA) firmware updates. That is why you will see it if you choose the bootloader_inclusion compile option, but not on the simple_hex and updateable_image compile options.

In most simple nRF Connect bluetooth samples, someone can see that the child_image folder only exists to enable support for MCUboot bootloader and over-the-air (OTA) firmware updates.

dariosortino commented 1 year ago

Hello @Chatzidimitriou , thank you so much for your time. I'm used to the nRF5340 and to building for both cores, but I never used CONFIG_BT=y, so I didn't know that It automatically builds the hci_rpmsg. That is great to know.

Are there other config options in the `prj.conf' that build something on the Netcore?

Chatzidimitriou commented 1 year ago

In the example in this repository, no. Only the Bluetooth CONFIG_BT_xx options do that.

dariosortino commented 1 year ago

Super! We can close the issue

Thank you again!