Using Zephyr samples with sysbuild
With the introduction of sysbuild in nRF Connect SDK, images for devices that have multiple cores must now configure which images they need in order to be built successfully and run.
For applications and samples in the nRF Connect SDK repository, this is handled automatically but for samples that are in the zephyr
directory that come from upstream Zephyr, these images must be selected manually when building an image for nRF53 devices.
Note
As nRF52 is a single core device, no additional images are needed for Bluetooth samples.
Sysbuild Kconfig option |
Image |
Bluetooth |
802.15.4 |
Details |
---|---|---|---|---|
|
✕ |
✕ |
||
|
✓ |
✕ |
||
|
✓ |
✕ |
Requires that application be setup for this mode. |
|
|
✕ |
✓ |
||
|
✓ |
✓ |
||
|
✓ |
✓ |
Requires additional configuration. The following Kconfig options provide predefined configurations:
|
|
|
No image |
n/a |
n/a |
The default for Thingy:53 is the nRF5340: Empty firmware for network core sample application. The default for other nRF53 devices is having no image added to the build.
When configuring an application, such as Bluetooth: Peripheral HR, you must configure it with a supported network core image to ensure proper functionality. For basic Bluetooth samples, you can use Bluetooth: HCI IPC, nRF5340: Multiprotocol RPMsg, or IPC radio firmware (one of the companion components). Use one of the following command patterns to build a sample with the Bluetooth: HCI IPC network image selected (with the relevant board_target, path to your application app_dir, and path to Zephyr’s shared sysbuild directory <path_to_zephyr>/share/sysbuild):
west build -b board_target -- -DSB_CONFIG_NETCORE_HCI_IPC=y
cmake -GNinja -DBOARD=*board_target* -DSB_CONFIG_NETCORE_HCI_IPC=y -DAPP_DIR=*app_dir* <path_to_zephyr>/share/sysbuild
When building and programming such a project, both the main application and the selected network core image will be programmed to the device and the sample application will run as expected.