Changes

Jump to: navigation, search

Recovery U-Boot Image (Lizard)

3,015 bytes added, 09:31, 16 March 2018
put infobox at top
{{AppliesToLizardEVB-Lite}}
{{InfoBoxBottom}}
 
== Introduction ==
This article describe how to recover a corrupted U-Boot image on Lizard NOR Flash using a Windows host machine.
 
In brief user needs to:
* configure Lizard SOM to boot over serial port instead of on board NOR flash
* download and prepare serial communication tools
* use those tools to download first stage bootloader and U-Boot over UART
* use this U-Boot to update NOR flash
This assume that you're using a standard [[Lizard Embedded Linux Kit (LELK)|LELK]] hardware and software.
 
== Tool Preparation ==
* Download the [[mirror:lizard/recovery/lizard-recovery.zip|lizard-recovery.zip archive]] and extract it on your Windows PC
* If needed, replace the u-boot.bin file with your custom binary or download the latest LELK binary from [[mirror:lizard|DAVE Embedded Systems mirror]]
* Open the command prompt and go inside the folder where you extracted the recovery file
* Launch the utility with the serial port number as the argument
<pre>
C:\Users\Desktop\lizard-Recovery\lizard> .\uart-recovery.bat COM1
</pre>The tools is now waiting for the board to wakeup
 
== Board Preparation ==
* Power off the board and set the dip switch <code>S2.2 ON</code> to select serial boot
* Connect '''UART2''' to your host PC
* Turn on the board
 
== Flashing the firmware ==
Once the board boot up, after a couple of seconds of delay, the recovery procedure will start.
 
The script is totally automated and, in case of success, this is the output:
 
 
<pre>
C:\devel\lizard\recovery2\windows>uart-recovery.bat COM15
transfer the x-loader
Waiting For Device ASIC ID: Press Ctrl+C to stop
ASIC ID Detected.
Sending 2ndFile:
Downloading file: 100.000% completed(15232/15232 bytes)
File download completed.
transfer u-boot
Downloading file: 100.000% completed(221852/221852 bytes)
File Download completed
trasfer u-boot to be stored on flash
 
Waiting for 0 seconds, press a key to continue ...
 
C:\devel\lizard\recovery2\windows>ucmd -p COM15 -c "STOP" -e "=>"
Output:
Net: davinci_emac_initialize
Ethernet PHY: GENERIC @ 0x11
DaVinci EMAC
=>
Match Found. Operation completed!
 
C:\devel\lizard\recovery2\windows>ucmd -p COM15 -c "mw.w ${buf} 0xFF 0x40000; loadb ${buf} 115200" -e "Ready for binary"
Output:
mw.w ${buf} 0xFF 0x40000; loadb ${buf} 115200
## Ready for binary
Match Found. Operation completed!
Downloading file: 100.000% completed(221852/221852 bytes)
File Download completed
flashing u-boot
 
Waiting for 0 seconds, press a key to continue ...
 
C:\devel\lizard\recovery2\windows>ucmd -p COM15 -c "protect off 0x08000000 +40000;era 0x08000000 +40000;cp.b ${buf} 0x08000000 0x40000" -e "Copy to Flash... done"
Output:
protect off 0x08000000 +40000;era 0x08000000 +40000;cp.b ${buf} 0x08000000 0x40000
Un-Protected 2 sectors
 
.. done
Erased 2 sectors
Copy to Flash... done
Match Found. Operation completed!
recovery completed
</pre>
 
User can now:
* turn off the board
* restore original dip switch configuration <code>S2.2 OFF</code>
* power on the board again to see the restored U-Boot startup
743
edits

Navigation menu