dual main firmware for safe upgrade

Discussion in 'General Chat' started by DavidWarden38, Jul 27, 2018.

  1. DavidWarden38

    DavidWarden38 New Member


    I'm working on a project using EFM32LG990F256 chip,.

    We would like to add a feature of updating firmware over RF ZIGBEE transceiver.

    In order to make firmware update safe we plan to use a 'fixed' bootloader section that is robust and solid.

    The main application should download the new firmware image and program it into flash in separated areas.

    After programming we have actually two firmwares in two areas.

    Upon completion jumping to bootloader ,validate the image with the highest version number and then jump to that image. So as each update is released the flash location that contained the operational code would toggle between two different locations.

    We use IAR environment , and the executable output has its absolute location.

    Do you have a sample of code that handles this issue in terms of toggling between locations, by remapping addresses or other way? While we always have at least one valid firmware.

    We know that the interrupt vectors can be remapped, but this is not sufficient.

    Any help appreciated,


    Rony Patel

    SCR dairy