AnsweredAssumed Answered

STM32F4 Dual images for firmware update - remapping interrupts

Question asked by BigM on Dec 14, 2011
Latest reply on Jan 20, 2012 by Clive One
Hi,

I'm working on a project on a STM32F4 where I want to update firmware over a GPRS modem from a webserver. In the past I've taken the approach of having a 'fixed' bootloader section that was robust and solid...at time of release! This boot section contacted the server and downloaded firmware. Later on when I wanted to make system changes the boot section couldn't be udpated and restricted what could be done.

I have tons of code space, so this time I would like the main app to download the new firmware image (or a backup image of itself) and stash it into flash. A basic startup routine would 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.

Has anyone taken this approach before with the F4? Any sample code/advice?

At the moment my main 'unknowns' are firstly, is it possible to remap the interrupt vectors in the little startup routine so that each app is running its own interrupt routines?
Secondly, how do I setup the build such that the app will run from an offset start address?

Any help appreciated,

Mike

Outcomes