Building multicore with sysbuild in VS Code for nRF54H20

Hi,

nRF54H20DK (rev. 0.9.1), SDK: v2.9.0-nRF54H20-rc2 and the same Toolchain, IDE: VSCode + nRF Connect

We need to implement a multicore application for nRF54H20. I tried to test the "Hello world" sample for multicore.

I read the "readme" file and tried to add to CMakeLists.txt "

set(SB_CONFIG_REMOTE_BOARD "nrf54h20dk/nrf54h20/cpurad" CACHE STRING "Remote board"), but without success.

How to compile this example correctly in VS Code? Do we need to make any changes in the files (like prj, CMake,...)?
Is it possible to do it only through VS Code and nRF Connect or do we have to use the "west" command directly?

Here is my tested config:
How can I use this config from README?

Thanks.

BR

  • Hi!

    I tried to test the "Hello world" sample for multicore.

    And that worked fine?

    set(SB_CONFIG_REMOTE_BOARD "nrf54h20dk/nrf54h20/cpurad" CACHE STRING "Remote board"), but without success.

    You also need e.g. sysbuild.cmake file

    https://github.com/nrfconnect/sdk-zephyr/blob/main/samples/sysbuild/hello_world/sysbuild.cmake

  • Hi,

    no, this is the error message from builder:

     *  Executing task: nRF Connect: Generate config nrf54h20dk/nrf54h20/cpuapp for c:\repo\nRF54H20\hello_world 
    
    Building hello_world
    C:\Windows\system32\cmd.exe /d /s /c "west build --build-dir c:/repo/nRF54H20/hello_world/build_5 c:/repo/nRF54H20/hello_world --pristine --board nrf54h20dk/nrf54h20/cpuapp --sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DCONF_FILE=c:/repo/nRF54H20/hello_world/prj.conf -DBOARD_ROOT=c:/repo/nrf54h20/hello_world"
    
    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: C:/ncs/toolchains/174047de1b/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter 
    -- Cache files will be written to: C:/ncs/v2.9.0-nRF54H20-1-rc3/zephyr/.cache
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf54h20dk, Revision: 0.9.0, qualifiers: nrf54h20/cpuapp
    Parsing c:/repo/nRF54H20/hello_world/Kconfig.sysbuild
    Loaded configuration 'C:/repo/nRF54H20/hello_world/build_5/_sysbuild/empty.conf'
    Merged configuration 'C:/repo/nRF54H20/hello_world/build_5/_sysbuild/empty.conf'
    Merged configuration 'C:/repo/nRF54H20/hello_world/build_5/_sysbuild/empty.conf'
    Configuration saved to 'C:/repo/nRF54H20/hello_world/build_5/zephyr/.config'
    Kconfig header saved to 'C:/repo/nRF54H20/hello_world/build_5/_sysbuild/autoconf.h'
    CMake Error at C:/repo/nRF54H20/hello_world/sysbuild.cmake:5 (message):
      REMOTE_BOARD must be set to a valid board name
    Call Stack (most recent call first):
      cmake/modules/sysbuild_extensions.cmake:700 (include)
      cmake/modules/sysbuild_images.cmake:13 (sysbuild_add_subdirectory)
      cmake/modules/sysbuild_default.cmake:20 (include)
      C:/ncs/v2.9.0-nRF54H20-1-rc3/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
      C:/ncs/v2.9.0-nRF54H20-1-rc3/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
      C:/ncs/v2.9.0-nRF54H20-1-rc3/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
      template/CMakeLists.txt:10 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    See also "C:/repo/nRF54H20/hello_world/build_5/CMakeFiles/CMakeOutput.log".
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\174047de1b\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/174047de1b/opt/bin/python.exe '-Bc:\repo\nRF54H20\hello_world\build_5' -GNinja -DBOARD=nrf54h20dk/nrf54h20/cpuapp -DNCS_TOOLCHAIN_VERSION=NONE -DCONF_FILE=c:/repo/nRF54H20/hello_world/prj.conf -DBOARD_ROOT=c:/repo/nrf54h20/hello_world '-SC:\ncs\v2.9.0-nRF54H20-1-rc3\zephyr\share\sysbuild' '-DAPP_DIR:PATH=c:\repo\nRF54H20\hello_world'
    
     *  The terminal process terminated with exit code: 1. 
     *  Terminal will be reused by tasks, press any key to close it. 

    Yes, I already had the "sysbuild.cmake" file and it is the same as you posted in the link above. I need to know whether and what I have to edit / add / set to fix build problem.

  • Try creating a sysbuild.conf , and set

    SB_CONFIG_REMOTE_BOARD="nrf54h20dk/nrf54h20/cpurad"

    Or, alternatively,

    set this

    DSB_CONFIG_REMOTE_BOARD='"nrf54h20dk/nrf54h20/cpurad"

    here:

Related