Working NCS 3.0.2 Sysbuild DFU OTA example with multi image support (app + net) and external flash memory

Dear Nordic Support Team

How are you?


Currently we are looking into how to configure, compile and run a full-fledged NRF5340 project which should provide us with:

- Latest NCS version 3.0.2
- Sysbuild
- MCUBoot
- Secure Boot (B0, TF-M (if necessary?), Crypto, Image signature verification)
- Application- and Network-Core image update (multi image support) with network image update via application (using MCUMgr and Bluetooth SMP transport)
- External Flash Memory for secondary slots
- Packaging both app and net image into the DFU .zip-file
- A simple LED Blinky in the main.c application image for demoing purposes


As there seems to be incomplete or even conflicting documentation, we struggle to find a way to enable and run all the forementioned features in one single project.

Could you please provide us with a working example project for the NRF5340-DK board implementing these features? It would be a valuable starting point for a lot of projects.

Best regards
Markus

Parents Reply
  • Dear Amanda

    Thanks for your feedback. I helped a lot to compare our project with the solution from the exercise and we got it working.

    The secret sauce lies in:

    SB_CONFIG_MCUBOOT_NRF53_MULTI_IMAGE_UPDATE=y  # Only seems to be documented in the NCS sources themselves and the exercise
    SB_CONFIG_MCUBOOT_MODE_OVERWRITE_ONLY=y # No-rollback is supported currently according to exercise


    For the community, here is the full sample project in a repository: https://github.com/NordicDeveloperAcademy/ncs-inter/tree/main/l9/l9_e5_nrf5340_both_sol

      

    • Will there be a rollback/confirm feature available in the future?
    • Would there be a way to have two additional image slots for both application and network image on external memory for fallback? We have a very large external flash chip which should easily accommodate a fallback image for application and network image, so we do not necessarily have to swap it with the internal flash image.

    Best regards
    Markus

Children
Related