Can you please help us to convert following snippet from dts to mp_static.yml to use it for DFU applcation. We have external nand flash which used with littlefs and internal flash which used for boot, slot0, slot1 and dev_params zone (raw operations with flash).
CONCAT_2(&spi, SDHC_SPI_INST){
compatible = "nordic,nrf-spi";
status = "okay";
pinctrl-0 = <&spi2_default>;
pinctrl-1 = <&spi2_sleep>;
pinctrl-names = "default", "sleep";
cs-gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
interrupts = < 35 SDHC_SPI_PRIO >;
nand_flash: mt29f2g01a@0 {
compatible = "jedec,spi-nand";
reg = <0>;
spi-max-frequency = <32000000>;
jedec-id = [2c 24];
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
storage_partition: partition@0 { //TODO: replace with mt29f2g01a and disable CONFIG_FILE_SYSTEM_SHELL
reg = <0x0000000 0x10000000>;
};
};
};
};
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
boot_partition: partition@0 {
label = "mcuboot";
reg = <0x00000000 0x000C000>;
};
slot0_partition: partition@C000 {
label = "image-0";
reg = <0x0000C000 0x00079800>;
};
slot1_partition: partition@85800 {
label = "image-1";
reg = <0x00085800 0x00079800>;
};
dev_params_partition: partition@FF000 {
reg = <0x000FF000 0x00001000>;
};
};
};
I tried to take partitions.yml which was generated by building app (without sysbuild) But it failes with following:
-- Found partition manager static configuration : C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/main_app/pm_static.yml
Partition 'mcuboot' 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: Error when inspecting littlefs_storage, invalid address 0x7f800, expected 0x7f600,
Failed to partition region flash_primary, size of region: 1048576
Partition Configuration:
app:
size: 497664
dev_params_partition:
size: 4096
littlefs_storage:
placement:
before:
- end
size: 24576
mcuboot:
size: 49152
mcuboot_pad:
placement:
align:
start: 4096
size: 512
mcuboot_primary:
size: 546816
mcuboot_primary_app:
size: 546816
mcuboot_secondary:
size: 497664
CMake Error at C:/Projects/ars_trackers/ars_tracker_fw/nrf/cmake/sysbuild/partition_manager.cmake:150 (message):
Partition Manager failed, aborting. Command:
C:/Python310/python.exe;C:/Projects/ars_trackers/ars_tracker_fw/nrf/scripts/partition_manager.py;--input-files;C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/boot/build/main_app/modules/nrf/subsys/partition_manager/pm.yml.file_system;C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/boot/build/mcuboot/zephyr/include/generated/pm.yml;C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/boot/build/main_app/zephyr/include/generated/pm.yml;--regions;sram_primary;flash_primary;--output-partitions;C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/boot/build/partitions.yml;--output-regions;C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/boot/build/regions.yml;--static-config;C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/main_app/pm_static.yml;--sram_primary-size;0x40000;--sram_primary-base-address;0x20000000;--sram_primary-placement-strategy;c-- Configuring incomplete, errors occurred!
omplex;--sram_primary-dynamic-partition;sram_primary;--flash_primary-size;0x100000;--flash_primary-base-address;0x0;--flash_primary-placement-strategy;complex;--flash_primary-device;flash_controller;--flash_primary-default-driver-kconfig;CONFIG_SOC_FLASH_NRF
Call Stack (most recent call first):
C:/Projects/ars_trackers/ars_tracker_fw/nrf/cmake/sysbuild/partition_manager.cmake:612 (partition_manager)
C:/Projects/ars_trackers/ars_tracker_fw/nrf/sysbuild/CMakeLists.txt:468 (include)
cmake/modules/sysbuild_extensions.cmake:563 (nrf_POST_CMAKE)
cmake/modules/sysbuild_extensions.cmake:563 (cmake_language)
cmake/modules/sysbuild_images.cmake:23 (sysbuild_module_call)
cmake/modules/sysbuild_default.cmake:19 (include)
C:/Projects/ars_trackers/ars_tracker_fw/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
C:/Projects/ars_trackers/ars_tracker_fw/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
C:/Projects/ars_trackers/ars_tracker_fw/zephyr/share/sysbuild-pSee also "C:/Projects/ars_trackers/ars_tracker_fw/ars_tracker_main_app/projects/boot/build/CMakeFiles/CMakeOutput.log".
ackage/cmake/SysbuildConfig.cmake:8 (include)
template/CMakeLists.txt:10 (find_package)
pm_static.yml that I used:
app: address: 0xc000 end_address: 0x85800 region: flash_primary size: 0x79800 dev_params_partition: address: 0xff000 end_address: 0x100000 region: flash_primary size: 0x1000 mcuboot: address: 0x0 end_address: 0xc000 region: flash_primary size: 0xc000 mcuboot_primary: address: 0xc000 end_address: 0x91800 orig_span: &id001 - app region: flash_primary size: 0x85800 span: *id001 mcuboot_primary_app: address: 0xc000 end_address: 0x91800 orig_span: &id002 - app region: flash_primary size: 0x85800 span: *id002 mcuboot_secondary: address: 0x85800 end_address: 0xff000 region: flash_primary size: 0x79800 sram_primary: address: 0x20000000 end_address: 0x20040000 region: sram_primary size: 0x40000
ncs 2.7.0