cancel
Showing results for 
Search instead for 
Did you mean: 

How the FUS find the source address of soft image to load during à OTA update

DMatt.1
Associate II

Hi,

When I looked for procedure to update with OTA, I didn't find any code indicating address of software image source to FUS. SHCI_C2_FUS_FwUpgrade(0,0) (in app_entry.c) seems indicate 0 on source, and 0 on destination. So I'm wondering how the FUS find the source address of soft image to load during à OTA update.

Thanks in advance !

Matthieu

1 REPLY 1
HRadt.1
Senior

Somewhere in the documentation there is a comment about these parameters not being supported (yet?)

Also there is a useful answer here:

https://community.st.com/s/question/0D53W00000GiOg4SAF/coprocessor-binary-upgrade-procedure-from-cpu1-without-using-bootloaderswd

On reset, the FUS is activated and go through the Flash memory , starting from address 0x08000000, looking for a specific magic number which indicates the start of the new FW. So you can download the FW wherever in the flash memory and the FUS will find it. Note that the wireless stack is installed at the location it has been downloaded. So in order to keep the maximum free space for the user application, it is key to load the RF FW as close as possible from the FUS area (as stated in point 1).

From my experience the image is installed at the address where it is downloaded only when no previous image is installed. When you are performing an update, it is installed at the original position, at least when it has the same size as the old one. For this it can be located anywhere in the flash memory. For some reason it is still recommended to install it "as close as possible" to the currently installed stack.

I asked for details here: https://community.st.com/s/question/0D53W00000HMz1DSAT/alternative-wireless-stack-install-address but received no feedback yet.

Hope this helps