Skip to main content
Moughit
Associate III
March 9, 2020
Solved

FOTA/FUOTA Delta firmware with STM32

  • March 9, 2020
  • 3 replies
  • 1974 views

I'm new to the STM32 and I wanna know how can I make a Delta firmware ? If anyone have an idea or have already worked on it, please share it with me.

Otherwise, is it possible to make a program that take the initial firmware and only update the address that have been changed and not the whole program ?

    This topic has been closed for replies.
    Best answer by Moughit

    I ended up using IAP + the original program

    The IAP only check if there is an update to be installed or no :

    • if no : jump to the original program
    • if yes : copying the original program in an other slot and update it with the delta_prog and then flash the new_prog, if it works, delete the original program and copy the new_prog in it, then flash it again and jump to it

    The original program should download the delta_prog when it's available, then reset

    3 replies

    Ozone
    Principal
    March 9, 2020

    > Otherwise, is it possible to make a program that take the initial firmware and only update the address that have been changed and not the whole program ?

    This approach does not work, because Flash memory is only erasable in large chunks (segments), usually 64k.

    You cannot arbitrarily change bytes/words.

    Moughit
    MoughitAuthorBest answer
    Associate III
    June 17, 2020

    I ended up using IAP + the original program

    The IAP only check if there is an update to be installed or no :

    • if no : jump to the original program
    • if yes : copying the original program in an other slot and update it with the delta_prog and then flash the new_prog, if it works, delete the original program and copy the new_prog in it, then flash it again and jump to it

    The original program should download the delta_prog when it's available, then reset

    RPaja.1
    Associate II
    December 9, 2022

    I am trying to develop a FUOTA campaing with delta updates, Did you achieve it? I guess that it is not implemented in BFU ( Boot Firmware Update) project in STM32Cube Repositories.

    I am sending the whole binary, but it will save a lot of Time on Air for my project.

    Best Regards