Application Rollback/Failsafe and differential updates

Hi, I have two questions, maybe someone can help me out:

  1. Is there any library support to initiate a rollback to the previous application or a failsafe application from within the running application?
    As some background information, basically this should cover the case that if the application was flashed and started correctly but has runtime problems that do not lead to a crash but merely prevent the application from being updated.

  2. Is there any library support for doing differential updates (I think this is referred to as DOTA III in the Manuals) without using AirVantage?
    We are not using AirVantage and I did not find relevant information on how to create the differential images and which API to use to flash the application.

Platform: SL6087, Open AT 2.52


  1. For this it sounds like you want a kind of ‘bootloader’ application running on top of the firmware (in the same way that the normal Open AT application does in case of some form of catastrophic error in the application? There isn’t anything that could stop the application from being updated except for lack of memory where the application has used too much so a new one cannot be loaded but this memory management should be built into your application anyway.
  2. The short answer is no to use the delta engine it has to be run through the Sierra Wireless server.



Thank you Matt,
I somehow expected 2. to being that way :wink:
For 1. I basically need a a mechanism to rollback the application software in case the last update flashed an application that cannot connect to the update server anymore (I update through http file downloads). So the catastrophic error for me would be that the new application has a broken update mechanism. I can very well detect in an application or from the outside world if the application still can connect to the update server but until now I did not find any builtin functionality to tell the firmware to rollback the application.
From what I understood from your answer you suggested that I create a very small bootloader application additionally to my single application that I am running now. This bootloader could communicate with the application somehow and flash a fallback image that I saved before with the same bootloader.