I have an application running on a custom nRF5340 board that supports simultaneous BLE DFU of the network and application core with MCUBoot. This ticket:
Partition Manager and device tree partitions
seems to indicate that MCUBoot relies only on the partitions declared in the devicetree since it's compiled before the partition manager runs. If that's the case, then its unclear to me which partitions must match up between the devicetree partitions and pm_yml partitions in this application. What worked for me was:
Device Tree Partition | Equivalent Partition Manager Partition |
boot_partition | mcuboot |
slot0_partition + slot0_ns_partition | mcuboot_primary |
slot1_partition + slot1_ns_partition | mcuboot_secondary |
(none since mcuboot can't access nwk core flash) | mcuboot_primary_1 |
What I don't understand here is the relationship between mcuboot_secondary_1 and slot2_partition (0x0 - 0x000A in the flash_sim node). How does MCUBoot see where the mcuboot_secondary_1 image is stored since it doesn't have an equivalent partition in the device tree. Is it actually that MCUBoot reads where to grab the image to DFU from the partition manager but uses the device tree to determine the DFU destination?