Didj UART Boot

From eLinux.org
Revision as of 17:15, 12 April 2010 by Nirvous (talk | contribs) (How to UART boot from a Linux host)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Requirements

  1. Didj with UART console
  2. Lightning-boot 1.3+
  3. OpenDidj U-Boot.
  4. Terminal program(s) - (ex: cutecom) that can send plain binary, xmodem and kermit

sudo apt-get install lrzsz ckermit cutecom 

Step 1 - Lightning Boot

  1. Connect your Didj UART Console cable, if required, but do not power up your Didj yet.
  2. Run cutecom, select the connection to your device (ex: /dev/ttyUSB0), and set the connection params to 19200 8N1.
  3. Select a download type of Plain.
  4. Highlight file: lightning-boot.bin but do not send it yet.
  5. Pull the power swicth on the didj down and hold it down.
  6. While doing this, send the lightning-boot file from Cutecom, while continuing to hold the Didj power switch down as it loads.
  7. Upon completion, the lightning boot screen will display on your Didj; at which time you may let go of the power button (and massage your finger).
  8. Disconnect the connection (but dont leave cutecom)

Step 2 - U-Boot

  1. Change the baud rate to 115200 and then reopen the connection to the device.
  2. Select a download type of XModem and select the U-Boot.bin file. (This will queue up the file for transmission.)
  3. Trigger the transmission of this file by pressing any button on the device.

When U-Boot is loaded you will see

LF1000# 

4. Quit cutecom.

Step 3 - Kermit

1. From the command line, run Kermit:

#kermit

2. Paste the following at the C-Kermit> prompt once Kermit launches: (TODO - Command Line Params)

set modem type none
set line /dev/ttyUSB0
set carrier-watch off
set speed 115200
connect

This takes you to the u-boot LF1000 # prompt.
3. Enter the following:

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

Followed by:

setenv loadaddr 1800000
loadb

4. Type ctrl-backslash and type letter c. This returns you to the C-Kermit> prompt.
Enter the following to send your image:

robust
cd /to/wherever/your/zImage/is
send zImage

The file is sent. When done, kermit returns you to the C-Kermit> prompt.

5. Reconnect to u-boot and boot the image you just sent:

C-Kermit>connect
LF1000 # go 1800000

If you see boot messages filling your console display, you have successfully performed a UART boot.