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

SB_CONFIG_NETCORE_EMPTY

nRF5340: Empty firmware for network core

SB_CONFIG_NETCORE_HCI_IPC

Bluetooth: HCI IPC

SB_CONFIG_NETCORE_RPC_HOST

Bluetooth: Host for nRF RPC Bluetooth Low Energy

Requires that application be setup for this mode.

SB_CONFIG_NETCORE_802154_RPMSG

nRF IEEE 802.15.4: Serialization RPMsg

SB_CONFIG_NETCORE_MULTIPROTOCOL_RPMSG

nRF5340: Multiprotocol RPMsg

SB_CONFIG_NETCORE_IPC_RADIO

IPC radio firmware

Requires additional configuration. The following Kconfig options provide predefined configurations: SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC enables HCI serialization for Bluetooth, SB_CONFIG_NETCORE_IPC_RADIO_BT_RPC enables nRF RPC serialization for Bluetooth, or SB_CONFIG_NETCORE_IPC_RADIO_IEEE802154 enables spinel serialization for IEEE 802.15.4.

SB_CONFIG_NETCORE_NONE

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

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.