MCUboot with Direct XIP

Hello,

I've been trying to get MCUboot to work with Direct XIP for several days but each time I have a compilation problem:

...

-- Found partition manager static configuration: C:/DocTA/Soft/TA-Smart-BT840P/Application/pm_static_mcuboot.yml
Partition 'app_image' is not included in the dynamic resolving since it is statically defined.
Partition 'b0' is not included in the dynamic resolving since it is statically defined.
Partition 'b0_container' is not included in the dynamic resolving since it is statically defined.
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 'mcuboot_secondary_app' is not included in the dynamic resolving since it is statically defined.
Partition 'mcuboot_secondary_pad' is not included in the dynamic resolving since it is statically defined.
Partition 'provision' is not included in the dynamic resolving since it is statically defined.
Partition 's0' is not included in the dynamic resolving since it is statically defined.
Partition 's0_image' is not included in the dynamic resolving since it is statically defined.
Partition 's0_pad' is not included in the dynamic resolving since it is statically defined.
Partition 's1' is not included in the dynamic resolving since it is statically defined.
Partition 's1_image' is not included in the dynamic resolving since it is statically defined.
Partition 's1_pad' is not included in the dynamic resolving since it is statically defined.
Partition 'settings_storage' is not included in the dynamic resolving since it is statically defined.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/DocTA/Soft/TA-Smart-BT840P/Application/TA_Smart
-- west build: building application
ninja: error: 'modules/mcuboot/mcuboot_secondary_app_subimage', needed by 'zephyr/mcuboot_secondary_app_signed.hex', missing and no known rule to make it
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\c57af46cb7\opt\bin\cmake.EXE' --build 'c:\DocTA\Soft\TA-Smart-BT840P\Application\TA_Smart'

In fact, I would like to have a project that would look like this:

  • b0
  • MCUboot s0
  • MCUboot s1
  • mcuboot_primary (app)
  • mcuboot_secondary

Currently I'm using the NCS SDK V2.5.0.

To see if the problem was with my project, I tested the Nordic example (developer.nordicsemi.com/.../developing.html configuration-additions-for-mcuboot-in-the-direct-xip-mode).
If I do this, it compiles:
west build -p -b nrf52840dk_nrf52840 -- -Dmcuboot_CONFIG_BOOT_DIRECT_XIP=y -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y -DCONFIG_MCUBOOT_BOOTLOADER_MODE_DIRECT_XIP=y

But if I add "-DCONFIG_SECURE_BOOT=y", I have the same problem than above.
west build -p -b nrf52840dk_nrf52840 -- -Dmcuboot_CONFIG_BOOT_DIRECT_XIP=y -DCONFIG_SECURE_BOOT=y -DCONFIG_BOOTLOADER_MCUBOOT=y -DCONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y -DCONFIG_MCUBOOT_BOOTLOADER_MODE _DIRECT_XIP=y

Looking at the forum, I see quite a few problems with this Direct XIP: do you have an idea to correct my problem?

Thank you

Related