Simon Taylor said:
As for most embedded applications, there is a requirement to be able to remotely update the main application. This is a Product Change Proposal to get the framework added to the porting kit code to allow this to happen. Effectively we need to be able to download a new app and then be able to 'install' this file. Weneed to be able to either back up or move the original code somewhere and place the new app in its place. To do this we need to be able to terminate the running app and run an 'app manager' function which achieves this.
A more difficult topic is being able to update the firmware! But initial need is for application update.
Any one have any thoughts on how we should do this?
This is considered critical by some of our customers with units deployed around the country - as a site visit costs on average 80 GBP.
You are absolutely correct, I think in-field update is very important to the point we couldn't wait till this is done as a standard feature and we added it to our Embedded Master (will be added to other devices too). It is done very neatly, through 100% software and infield. You can download the new files (for firmware or application...even tinybooter) from anywhere...from SD card, from USB drive, from internet...etc.
There are many ways to do this application. The simplest is by dividing your deployment region in half and then you can update one while running the other, then a reboot will now use the newer "half"! This is also good because if something went wrong during update, you still have the original deployment intact. The down side is that you lose half your deployment region. This is just one way to do this.
By the way, our implementation does this different than this