[U-Boot] Dual boot Images in Flash

Gupta, Pekon pekon at ti.com
Tue Oct 1 09:43:13 CEST 2013


Hi,

> From: Wolfgang Denk [mailto:wd at denx.de]
> Dear "Gupta, Pekon",
> 
> In message
> <20980858CB6D3A4BAE95CA194937D5E73EA186A6 at DBDE04.ent.ti.com>
> >
> > you can tweak your hardware to split it, and many micro-controllers
> > do it (especially for safety critical applications). Example:
> > Suppose 'default' entry-point (or reset entry-point) = 0x0000_0000,
> > Now OR your MSB bit with the fault-signal or boot-error-flag.
> 
> Define "fault-signal" and "boot-error-flag".  Thise may exist on your
> chip, but they don't on the overwhelming majority of systems.
> 
No, these do not exist on my chip either :-).
But you can have such functionality on-board using basic components
like watchdog timers. Like some of Automobile safety systems have
a separate on-board watchdog timer (apart from on-chip ones).
And it is periodically patted via GPIO pins, by the software running on
the system. But suppose a boot failed then this watchdog timer would
expire and that timeout signal can be latched as boot_error_flag.

Case-1: This boot_error_flag can be used for re-routing chip-selects
to other devices like (NAND), etc. Good part is such as this logic sits on
board, it is independent of SoC. Bad part is it adds to your BOM cost.

Case-2:  You can re-route boot_error_flag back to your SoC connecting
it to NMI or external reset (most SoC would atleast have reset). And
then a corrective action can be taken in your reset-entry handler, or
exception handler.
Jumps to exception-handlers and reset-handler will mostly execute
because these branching are hard-coded in processor hardware.

Though I fully agree with you it's more difficult to do these things in
actual than just describing the concept here.


with regards, pekon


More information about the U-Boot mailing list