Old Firmware Comes Back After FOTA and Second Reboot

Toolchain v2.70, SDK v2.7.0, VS Code, Windows

I'm applying an application firmware update by calling fota_download_start_with_image_type with DFU_TARGET_IMAGE_TYPE_MCUBOOT, and then rebooting at a convenient time once the download has reported as completed. But if I subsequently apply a modem firmware update via DFU_TARGET_IMAGE_TYPE_MODEM_DELTA and another reboot, I sometimes see the old application firmware come back. This kicks off another application update cycle and it all comes out in the wash, but why is the old firmware resurrecting like this? Is there something I'm meant to do on firmware startup to kill any old images that might be lurking?

  • I can get a similar effect with the Segger: Perform a FOTA from say 1.2 to 1.3, and then program the device with dev code using from Visual Studio Code. Upon restarting, it comes up not with the dev code, but with 1.2 again. And then I have to program it once more to get the dev code to stick. It's as if the old image is still then and is being applied on reboot.

Related