zephyr/samples/sysbuild/hello_world
Grzegorz Swiderski b4c18e8999 boards: nrf54h20dk: Merge iron variants into the base variants
This replaces the legacy SDFW compatible board configuration with the
IronSide SE compatible one, thus removing support for running samples
and tests on nRF54H20 devices with the old firmware.

All applications are expected to work on `nrf54h20dk/nrf54h20/cpuapp`
out of the box. For other board targets, all applications are expected
to boot, but may require additional peripheral configuration in UICR.
Build system support for the new UICR format is to be added separately.

Co-authored-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Signed-off-by: Jonathan Nilsen <jonathan.nilsen@nordicsemi.no>
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2025-07-24 16:57:45 +01:00
..
boards boards: nrf54h20dk: Merge iron variants into the base variants 2025-07-24 16:57:45 +01:00
remote
src
sysbuild boards: nrf54h20dk: Merge iron variants into the base variants 2025-07-24 16:57:45 +01:00
CMakeLists.txt
Kconfig.sysbuild
prj.conf
README.rst doc: boards: nordic: Adopt zephyr:board directives 2025-03-31 22:00:02 +02:00
sample.yaml boards: nrf54h20dk: Merge iron variants into the base variants 2025-07-24 16:57:45 +01:00
sysbuild.cmake

.. zephyr:code-sample:: sysbuild_hello_world
   :name: Hello World for multiple board targets using Sysbuild

   Run a hello world sample on multiple board targets

Overview
********

The sample demonstrates how to build a Hello World application for two board
targets with :ref:`sysbuild`. This sample can be useful to test, for example,
SoCs with multiple cores as each core is exposed as a board target. Other
scenarios could include boards embedding multiple SoCs. When building with
Zephyr Sysbuild, the build system adds additional images based on the options
selected in the project's additional configuration and build files.

All images use the same :file:`main.c` that prints the board target on which the
application is programmed.

Building and Running
********************

This sample needs to be built with Sysbuild by using the ``--sysbuild`` option.
The remote board needs to be specified using ``SB_CONFIG_REMOTE_BOARD``. Some
additional settings may be required depending on the platform, for example,
to boot a remote core.

.. note::
   It is recommended to use sample setups from
   :zephyr_file:`samples/sysbuild/hello_world/sample.yaml` using the
   ``-T`` option.

Here's an example to build and flash the sample for the
:zephyr:board:`nrf54h20dk`, using application and radio cores:

.. zephyr-app-commands::
   :zephyr-app: samples/sysbuild/hello_world
   :board: nrf54h20dk/nrf54h20/cpuapp
   :west-args: --sysbuild
   :gen-args: -DSB_CONFIG_REMOTE_BOARD='"nrf54h20dk/nrf54h20/cpurad"'
   :goals: build flash
   :compact:

The same can be achieved by using the
:zephyr_file:`samples/sysbuild/hello_world/sample.yaml` setup:

.. zephyr-app-commands::
   :zephyr-app: samples/sysbuild/hello_world
   :board: nrf54h20dk/nrf54h20/cpuapp
   :west-args: -T sample.sysbuild.hello_world.nrf54h20dk_cpuapp_cpurad
   :goals: build flash
   :compact:

After programming the sample to your board, you should observe a hello world
message in the Zephyr console configured on each target. For example, for the
sample above:

Application core

   .. code-block:: console

      *** Booting Zephyr OS build v3.6.0-274-g466084bd8c5d ***
      Hello world from nrf54h20dk/nrf54h20/cpuapp

Radio core

   .. code-block:: console

      *** Booting Zephyr OS build v3.6.0-274-g466084bd8c5d ***
      Hello world from nrf54h20dk/nrf54h20/cpurad