
Hi,
From: Wolfgang Denk [mailto:wd@denx.de] Dear "Gupta, Pekon",
In message 20980858CB6D3A4BAE95CA194937D5E73EA186A6@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