MCUBOOT + SMP + External Flash, Image is flashed to the external flash, but fails to boot.

I am working on using MCUBOOT with external flash (MX25V16066M2I02) using SMP server sample https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.4.0/zephyr/samples/subsys/mgmt/mcumgr/smp_svr/README.html.

I have tested the external flash by using it as QSBI flash and it works as intended.

SMP server sample works well when using internal flash. 

I have added the required configuration and device tree overlay to enable mcuboot on external spi flash, as well as the static partition yml file. I can flash the image to the external flash, however after putting on test mode and restarting the dk, nothing changes the image remains on the pending state. I have also tried confirming the image but still same issue. I have also tired using the built-in QSBI flash same issue.

Note: I am working on nrf connect SDK 2.4 

Static partition file.

Overlay file.

prj.conf file

overlay-serial.conf file

Command used to create the profile.

terminal snippet

Parents
  • Hello,

    Please confirm that the overlay file has also been applied to the MCUBoot child image, and not just the application. You can do this by inspecting the generated <build dir>/mcuboot/zephyr/zephyr.dts file.

    Best regards,

    Vidar

Reply
  • Hello,

    Please confirm that the overlay file has also been applied to the MCUBoot child image, and not just the application. You can do this by inspecting the generated <build dir>/mcuboot/zephyr/zephyr.dts file.

    Best regards,

    Vidar

Children
  • Hello,
    Firstly Thank you very much for your effort and response.

    I have checked the file it seems the overlay is not applied to the MCUBoot child image. However I am not sure how to solve this!

    This is chosen snippet from the /mcuboot/zephyr/zephyr.dts file.


    Full /mcuboot/zephyr/zephyr.dts file.

  • Hello again,

    This is the full sample file just in case.

    Regards,
    Abdullah Al Abri

    6813.smp_svr.rar

  • Hello,

    It should work if you move the 'boards' directory from /child_image/boards to /child_image/mcuboot/boards. The overlay will then be applied to the mcuboot build (remember to do a pristine build to ensure the build system detects this change)

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/config_and_build/multi_image.html#permanent-configuration-changes-to-child-images

    Best regards,

    Vidar

  • Hello,

    Thank you very much for the help. It worked, I moved the overlay file according to what you said. I have tried too put child image configuration file in /child_image/mcuboot/ folder but it didn't work at first, then I moved it file to /child_image/ folder and it worked.

    Regards,
    Abdullah Al Abri