Cannot enable partition manager with NCS 2.7.0 + Sysbuild

Hi - I am trying to use the PCD library in NCS 2.7.0 w/ sysbuild, but this library seems to require partition manager to be enabled (due to the `include <pm_config.h>` in `dfu/pcd.h`. However, I am not able to enable partition manager.

To reproduce:

  • Using zephyr/samples/peripheral_hr,
  • add sysbuild.conf with `SB_CONFIG_PARTITION_MANAGER=y`,
  • add `#include <dfu/pcd.h>` to main.c

and I get the following error:

jason@torasu:~/ncs/v2.7.0/zephyr/samples/bluetooth/peripheral_hr$ west -v build --sysbuild -p -b nrf5340dk/nrf5340/cpuapp --build-dir ./build
-- west build: making build dir /home/jason/ncs/v2.7.0/zephyr/samples/bluetooth/peripheral_hr/build pristine
cmake version 3.21.0 is OK; minimum version is 3.13.1
Running CMake: /home/jason/ncs/toolchains/e9dba88316/usr/local/bin/cmake -DBINARY_DIR=/home/jason/ncs/v2.7.0/zephyr/samples/bluetooth/peripheral_hr/build -DSOURCE_DIR=/home/jason/ncs/v2.7.0/zephyr/share/sysbuild/template -P /home/jason/ncs/v2.7.0/zephyr/cmake/pristine.cmake
-- west build: generating a build system
cmake version 3.21.0 is OK; minimum version is 3.13.1
Running CMake: /home/jason/ncs/toolchains/e9dba88316/usr/local/bin/cmake -DWEST_PYTHON=/home/jason/ncs/toolchains/e9dba88316/usr/local/bin/python3.9 -B/home/jason/ncs/v2.7.0/zephyr/samples/bluetooth/peripheral_hr/build -GNinja -DBOARD=nrf5340dk/nrf5340/cpuapp -S/home/jason/ncs/v2.7.0/zephyr/share/sysbuild -DAPP_DIR:PATH=/home/jason/ncs/v2.7.0/zephyr/samples/bluetooth/peripheral_hr
Loading Zephyr module(s) (Zephyr base): sysbuild_default
-- Found Python3: /home/jason/ncs/toolchains/e9dba88316/usr/local/bin/python3.9 (found suitable version "3.9.18", minimum required is "3.8") found components: Interpreter 
-- Cache files will be written to: /home/jason/.cache/zephyr
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf5340dk, qualifiers: nrf5340/cpuapp

warning: PARTITION_MANAGER (defined at /home/jason/ncs/v2.7.0/nrf/sysbuild/Kconfig.sysbuild:9) was
assigned the value 'y' but got the value 'n'. Check these unsatisfied dependencies:
(!EXTERNAL_CONFIGURED_NETCORE) (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_PARTITION_MANAGER and/or look up
PARTITION_MANAGER in the menuconfig/guiconfig interface. The Application Development Primer, Setting
Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
too.

By the way, is partition manager otherwise required in NCS 2.7.0? I am a bit confused on this, some places says partition manager is required for NCS, others say it is deprecated due to the move to sysbuild.

Parents
  • Hi,

    You can replace the content of the Kconfig.sysbuild file located in your project root with the code below to include the IPC radio firmware for the network core in your buld. This will also select the partition manager. You can read more about this in the Using Zephyr samples with sysbuild of the SDK documentation.

    source "${ZEPHYR_BASE}/share/sysbuild/Kconfig"
    
    config NRF_DEFAULT_IPC_RADIO
    	default y
    
    config NETCORE_IPC_RADIO_BT_HCI_IPC
    	default y
    

    By the way, is partition manager otherwise required in NCS 2.7.0? I am a bit confused on this, some places says partition manager is required for NCS, others say it is deprecated due to the move to sysbuild.

    The nRF Connect SDK relies on the partition manager to manage the memory layout when building multiple images with sysbuild. 

    Best regards,

    Vidar

Reply
  • Hi,

    You can replace the content of the Kconfig.sysbuild file located in your project root with the code below to include the IPC radio firmware for the network core in your buld. This will also select the partition manager. You can read more about this in the Using Zephyr samples with sysbuild of the SDK documentation.

    source "${ZEPHYR_BASE}/share/sysbuild/Kconfig"
    
    config NRF_DEFAULT_IPC_RADIO
    	default y
    
    config NETCORE_IPC_RADIO_BT_HCI_IPC
    	default y
    

    By the way, is partition manager otherwise required in NCS 2.7.0? I am a bit confused on this, some places says partition manager is required for NCS, others say it is deprecated due to the move to sysbuild.

    The nRF Connect SDK relies on the partition manager to manage the memory layout when building multiple images with sysbuild. 

    Best regards,

    Vidar

Children
No Data
Related