This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Does mcuboot have a mechanisms to update the bootloader itself?

Hello,

Is there a way to configure mcuboot to allow updates to the bootloader itself? That feature is supported in Nordic's bootloader, but I haven't been able to find any info on that on Mcuboot's documentation or nRF Connect SDK.

Thanks,

Diego

  • It is not possible for the bootloader (MCUboot) to update itself. For the MCUboot to be updateted, you need to add the immutable bootloader to your solution. See https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.8.0/nrf/ug_bootloader_adding.html#adding-an-upgradable-bootloader 

    What chip are you using? There are some uncertainties whether it is supported to upgrade mcuboot using the above approach with the nRF52 series. I will look into it and get back to you.

    Best regards,

    Simon

  • Regarding mcuboot updates for the nRF52 vs. nRF91, here's a comment from another ticket that explains it well:

    "It seems like the immutable_bootloader+mcuboot and mcuboot updates is only supported out of the box for the nrf9160. However, it does not require too much work to get it working on the nrf52840.

    The way it works for the nRF9160 is that all updates will always get written to the same secondary slot (both mcuboot updates as well as application updates). This is because the nrf9160 has 32kb lockable regions, and it is not possible to put mcuboot updates directly into s1/s2, since the area is locked. 

    For the case with the nrf52840 you can just put mcuboot updates directly into S1/S2 and application updates directly into the secondary slot, and everything should get handled automatically after a reset. The mcuboot will look in the secondary slot for updates and the immutable bootloader will look for updates in the s1/s2 slots. This is not done by default in the smp_svr sample, so they would need write some code to handle the dfu package, decide whether it is an mcuboot update or an application update and place it accordingly in flash"

    Best regards,

    Simon

Related