Didj Boot From UART

From eLinux.org
Revision as of 18:21, 13 March 2010 by PhilKll (talk | contribs) (Hardware Needed)
Jump to: navigation, search

This explains how to boot your Didj over a UART connection, using the standard lighting-boot.bin uboot.bin and kernel image.

Files Needed



a working kernel image

Programs Needed

Terminal program, Hyperterminal, or equivalent, must be able to send via Plain Text, Xmodem, and Kermit.

Hardware Needed

Ability to make a Serial connection to the UART pins on the Didj, and using a resister, 470 Ohm works well, ability to attach the NAND pins D5 and D6 to ground. Common methods are a breakout board, or soldering wires to the cartridge connector pins.

Getting Started

Make sure you've got your UART connected, and the ability to pull the D5 and D6 pins low. Terminal will be set to 115200 8/n/1 to begin.

Booting Up

Latching the power button

Pull the D6 pin of the NAND Flash low, then boot as normal while watching the output in Terminal, after booting is complete, pull both D5 and D6 low, type command "reboot". Didj will reboot and now you won't have to hold down the power button during the UART boot process. The screen will be blank, and the Didj will look like its off, but its actually just waiting for you to start sending the bootloader.

Starting the UART Boot

Keeping the D5 and D6 of NAND Flash pins low (note: This is for using hyperterminal in windows, your program(s) may very in procedure.)

1. Configure hyperterminal to 19200 8/n/1

2. Make sure UART is connected, and hold down any button on the Didj except the power button.

3. Using Send Text method, switch file type to "all" and load lightning-boot.bin, nothing will be displayed, but usb/rs232 adapter will show activity, if its got an LED to do so.

4. Once loaded, let up on other button. Switch hyperterminal to 115200 8/n/1 and use Xmodem method to send uboot.bin. Press send, then press a button on the Didj to initiate transfer.

5. 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

6. Then send zImage file using Kermit method once finished there will be another terminal prompt, enter.

LF1000# go 1800000

7. Should now see linux kernel uncompressing then booting.

Custom Boot Loaders

Refer to the proper sequence provided by the custom bootloader, as some or all of these steps may be different or unnecessary.