Hello!
I am developing an application under the SDK V2.9.0. Now I am trying to set up a simple project with a sysbuild, Mcuboot and a partition manager.
Here is the file tree of the project:
├── CMakeLists.txt ├── drivers │ ├── CMakeLists.txt │ ├── gpio │ │ ├── CMakeLists.txt │ │ ├── gpio_pi4ioe5v6408 │ │ │ ├── CMakeLists.txt │ │ │ ├── gpio_pi4ioe5v6408.c │ │ │ └── Kconfig │ │ └── Kconfig │ ├── Kconfig │ └── zephyr │ └── module.yml ├── dts │ └── bindings │ └── gpio │ └── diodes_pi4ioe5v6408.yaml ├── nrf54l15dk_nrf54l15_cpuapp.overlay ├── pm_static.yml ├── prj.conf ├── README.md ├── src │ └── main.c └── sysbuild.conf
sysbuild.conf has the following lines:
SB_CONFIG_BOOTLOADER_MCUBOOT=y SB_CONFIG_PARTITION_MANAGER=y
prj.conf has the following lines:
CONFIG_LOG=y CONFIG_LOG_BACKEND_UART=y CONFIG_LOG_BACKEND_SHOW_COLOR=y CONFIG_LOG_INFO_COLOR_GREEN=y CONFIG_GPIO=y CONFIG_I2C=y
pm_static.yml was copied without any changes from the ncs/v2.9.0/nrf/applications/nrf_desktop/configuration/nrf54l15dk_nrf54l15_cpuapp/pm_static.yml
Here is its content:app:
address: 0x7800
region: flash_primary
size: 0xb8800
mcuboot:
address: 0x0
region: flash_primary
size: 0x7000
mcuboot_pad:
address: 0x7000
region: flash_primary
size: 0x800
mcuboot_primary:
address: 0x7000
orig_span: &id001
- app
- mcuboot_pad
region: flash_primary
size: 0xb9000
span: *id001
mcuboot_primary_app:
address: 0x7800
orig_span: &id002
- app
region: flash_primary
size: 0xb8800
span: *id002
mcuboot_secondary:
address: 0xc0000
orig_span: &id003
- mcuboot_secondary_pad
- mcuboot_secondary_app
region: flash_primary
size: 0xb9000
span: *id003
mcuboot_secondary_pad:
region: flash_primary
address: 0xc0000
size: 0x800
mcuboot_secondary_app:
region: flash_primary
address: 0xc0800
size: 0xb8800
settings_storage:
address: 0x179000
region: flash_primary
size: 0x4000
When I try compiling the code, I get the following error:
-- Found partition manager static configuration : /home/dima/Projects/giot/workspace/pi4ioe5v6408_gpio_expander/pm_static.yml Partition 'mcuboot' is not included in the dynamic resolving since it is statically defined. Partition 'mcuboot_pad' is not included in the dynamic resolving since it is statically defined. Partition 'mcuboot_primary' is not included in the dynamic resolving since it is statically defined. Partition 'mcuboot_primary_app' is not included in the dynamic resolving since it is statically defined. Partition 'mcuboot_secondary' is not included in the dynamic resolving since it is statically defined. Partition manager failed: Incorrect amount of gaps found in static configuration. There must be exactly one gap in the static configuration to support placing the dynamic partitions (such as 'app'). Gaps found (2):0x7800-0xc0000 0x17d000-0x165000 The most common solution to this problem is to fill the smallest of these gaps with statically defined partition(s) until there is only one gap left. Alternatively re-order the already defined static partitions so that only one gap remains. Failed to partition region flash_primary, size of region: 1462272 Partition Configuration: app: size: 755712 mcuboot: size: 28672 mcuboot_pad: size: 2048 mcuboot_primary: size: 757760 mcuboot_primary_app: size: 755712 mcuboot_secondary: size: 757760 mcuboot_secondary_app: size: 755712 mcuboot_secondary_pad: size: 2048 settings_storage: size: 16384 -- Configuring incomplete, errors occurred!
What am I doing wrong? I tried it on V2.8.0 as well with the same result.