Patent ID: 7870378

Claim:
An electronic system, comprising: an execute-in-place (XIP) memory; a processor for executing an application program code in the XIP memory; a NAND flash memory for storing a plurality of boot codes which are identical to one another; a NAND flash memory controller for controlling an operation of reading the NAND flash memory and copying one of the plurality of boot codes in sequential manner in the NAND flash memory to the XIP memory; a sequencer for controlling the NAND flash memory controller to copy a first boot code to the XIP memory in response to a hardware reset signal, wherein the processor executes the first boot code in the XIP memory to make the electronic system boot up; and a timer for delaying a specific time delay in response to the hardware reset signal, enabling the sequencer to judge whether the electronic system successfully boots up after the specific time delay, and then judging whether the sequencer has to make the electronic system reboot; a boot status flag unit for outputting a flag signal to the sequencer, wherein the sequencer judges whether the electronic system successfully boots up according to a signal level of the flag signal; wherein the flag signal has an initial level, and when the signal level of the flag signal is the initial level, the flag signal indicates that the electronic system has not successfully booted up; wherein when the electronic system fails to boot up, the sequencer makes the electronic system reset and controls the NAND flash memory controller to copy a next available boot code in NAND Flash memory to the XIP memory, and the processor executes the next available boot code in the XIP memory to make the electronic system boot up, and wherein after the electronic system boots up, the sequencer controls the NAND flash memory controller to copy said application program code to the XIP memory for execution by the processor, and the processor sets the signal level of the flag signal to a terminating level to represent that the electronic system successfully boots up.