From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Lange Date: Tue, 02 Dec 2003 22:25:42 +0100 Subject: [U-Boot-Users] Field upgrade In-Reply-To: <20031202151548.0D6C4C5F5F@atlas.denx.de> References: <20031202151548.0D6C4C5F5F@atlas.denx.de> Message-ID: <3FCD0356.30502@corelatus.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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. See http://www.opensource.se/ 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 >