Didj UART Boot

Hardware Needed
Console Access

Software Needed
Lightning-boot 1.4+ Must be specifically UART enabled version.

U-Boot

Didj kernel zImage

Programs Needed
Terminal program - (ex: cutecom) that can send plain binary, xmodem and kermit

If using the "With Linux" method. $ sudo apt-get install lrzsz ckermit cutecom

UART Boot Lightning Boot
Some Lightning Boot's are created specifically for UART booting, and some for NAND.

If you are unsure about what type your Lightning Boot is, run this command and check the output. The two options are UART and NAND.

00000000 00 00 00 ea 55 41 52 54  04 d0 9f e5 01 00 00 eb  |....UART........| 00000010
 * 1) hexdump -C -n 16 lightning-boot.bin


 * Connect your serial adapter between the Didj and your computer.
 * Configure your terminal
 * Device:(ex. Linux /dev/ttyUSB0) (ex. Windows COM1)
 * baudrate:19200
 * bits:8
 * Flow Control:none
 * Stopbits:1
 * Parity:none
 * Pull D5 low on your cartridge, or through a 470 Ohm resistor to ground.


 * Open the connection in the terminal program, and hold down the power button on the Didj.


 * Using the Send Text or plain method, open lightning-boot UART version (ex. lightning-boot-1.4-UART.bin), nothing will be displayed, but usb/rs232 adapter will show activity, if its got an LED to do so.

If you have an SD card connected you can use the lightning boot 1.4+ menu to load a zImage or u-boot.bin off of it and be finished here. Otherwise if you would like to continue loading over UART or don't have lightning boot 1.4+ continue to step 2.
 * Once loaded you should see a blue screen with a menu, you can let off the power button (if you are loading an older version of lightning boot, there will be no blue screen, it will stay blank and you will need to keep the power button held down through the entire process). There is two ways to continue from here.

Loading U-Boot
When U-Boot is loaded you will see LF1000#
 * Change the baud rate to 115200 and then reopen the connection to the device.
 * Select a download type of XModem, click Send File and select/open the U-Boot.bin file. (This will queue up the file for transmission.)
 * Trigger the transmission of this file by pressing any button on the device.

General
If your terminal program supports kermit, you can proceed from here. If you are using Linux, and your terminal does not support Kermit, go to the  With Linux  section, it explains in more detail how to set your PC up to transfer the file.

 On Didj 

Once uboot has been sent there'll be a terminal prompt, enter. LF1000# setenv bootargs mem=18M init=/sbin/init console=ttyS0,115200 root=31:06 ro rootflags=noatime rootfstype=jffs2 ubi.mtd=Brio ubi.mtd=prg_Brio ubi.mtd=Cartridge ubi.mtd=EXT LF1000# setenv loadaddr 1800000 LF1000# loadb

Then send zImage file using the Kermit transfer method once finished there will be another terminal prompt, enter. LF1000# go 1800000

If you see boot messages filling your console display, you have successfully performed a UART boot. You can now release the power button.

With Linux
Quit your terminal program.

 On Host 

From the command line, run Kermit: $ kermit

Run the following at the Kermit prompt. C-Kermit> set modem type none C-Kermit> set line /dev/ttyUSB0 C-Kermit> set carrier-watch off C-Kermit> set speed 115200 C-Kermit> connect

This takes you to the u-boot prompt.

Enter the following:  On Didj 

LF1000 # setenv bootargs mem=18M init=/sbin/init console=ttyS0,115200 root=31:06 ro rootflags=noatime rootfstype=jffs2 ubi.mtd=Brio ubi.mtd=prg_Brio ubi.mtd=Cartridge ubi.mtd=EXT LF1000 # setenv loadaddr 1800000 LF1000 # loadb

Type ctrl-backslash and type letter c. This returns you to the   prompt.

Reconnect to u-boot and boot the image you just sent:  On Host  C-Kermit>connect

 On Didj  LF1000 # go 1800000

If you see boot messages filling your console display, you have successfully performed a UART boot. You can now release the power button