
Sure there is a sw solution! We have been using it for 2 years now. Check out board "gth".
We use a pre loader called miniboot, which boots the first image with correct crc it finds in flash.
This allows us to upgrade u-boot in field. Even if we loose power during upgrade, we will always have a valid u-boot image to boot.
/Thomas
Wolfgang Denk wrote:
In message 3FCCA417.9020500@2net.co.uk you wrote:
One of my requirements is that the firmware be field upgradeable. The problem at the moment is that if something goes wrong while erasing and programming a new u-boot there is no recovery without a jtag/bdm debugger. Does anyone have a solution, or is it not a problem in
There is no solution in software alone. If you have hardware support which for example detects a failing boot (by waiting with timeout for a signal to be set by a successfully booting system) and then toggles for example boot devices you can do something like that.
But there is no simple way to do this in software alone.
practice? I was playing with the idea of having a backup u-boot and some method of falling back to it if the primary copy is corrupt.
You can create a backup copy of U-Boot - but how will you boot it? U-Boot is linked for a fix address so you cannot easily shift it in memory. And even if you could - your board will still start from a fix reset vector - if it does not find valifd code there you may have a working image somewhere else but it will not help you.
Best regards,
Wolfgang Denk