cancel
Showing results for 
Search instead for 
Did you mean: 

FOTA/FUOTA Delta firmware with STM32

Moughit
Associate III

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 ?

1 ACCEPTED SOLUTION

Accepted Solutions
Moughit
Associate III

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

View solution in original post

3 REPLIES 3
Ozone
Lead II

> 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
Associate III

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

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