world leader in high performance signal processing
Trace: » uart

Loading U-Boot

Before we can do anything useful, we need a boot loader to bootstrap the processor when powered on. This boot loader will then be used to load the Linux operating system (among many other things).

Your board might already have U-Boot on it, but for completeness sake, we'll assume it does not. If it does, you can skip this section if you see U-Boot output already in your terminal emulator.

Since we have a Blackfin processor that supports booting over the UART, we will use that to bootstrap the processor the first time. Then we can reprogram the flash and save the boot loader to flash. That way the board will be able to locate the boot loader automatically without requiring manual setup from you.

Please visit the U-Boot download page and download the @BOARD@ tarball u-boot-@UBOOT_BOARD@-<version>.tar.bz2. Inside of that archive, you will find a UART LDR named u-boot-@UBOOT_BOARD@-uart-<version>.ldr which will be needed below.

You will want to configure the switches on the board as follows: @SWITCH_SETUP@

Now with your terminal emulator running, press the reset button (@RESET_SWITCH@) a few times. You should see no output. Press the space bar a few times and you should see one or two random bytes come back. Hit the reset button a few times again, and try the space bar again. If you still see a few bytes come back, then everything is connected properly. Now quit out of your terminal emulator and once it has exited, hit the reset button a few more times. If things did not go smoothly, please see the troubleshooting page.

Loading over the UART

The ldr-utils can be used to load applications over the UART (for those parts which support it over the BootROM).

$ bfin-uclinux-ldr -l /tftpboot/u-boot.ldr /dev/ttyUSB0 && kermit -l /dev/ttyUSB0 -b 57600 -C connect
Loading LDR /tftpboot/u-boot.ldr ... OK!
Opening /dev/ttyUSB0 ... OK!
Configuring terminal I/O ... OK!
Trying to send autobaud ... OK!
Trying to read autobaud ... OK!
Checking autobaud ... OK!
Autobaud result: 115200bps 49.766mhz (header:0xBF DLL:0x1B DLH:0x00 fin:0x00)
Sending blocks of DXE 1 ... [1/2] [2/2] OK!
Sending blocks of DXE 2 ... [1/6] [2/6] [3/6] [4/6] [5/6] [6/6] OK!
You may want to run minicom or kermit now
Quick tip: run 'ldrviewer <ldr> <tty> && minicom'
Connecting to /dev/ttyUSB0, speed 57600
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------
 0
bfin> version
U-Boot-1.1.3-ADI (Sep 28 2006 - 16:16:44)
bfin>

 > bfin-uclinux-ldr -l /tftpboot/u-boot.ldr /COM1
Loading LDR /tftpboot/u-boot.ldr ... OK!
Opening /COM1 ... OK!
Configuring terminal I/O ... OK!
Trying to send autobaud ... OK!
Trying to read autobaud ... OK!
Checking autobaud ... OK!
Autobaud result: 115200bps 49.766mhz (header:0xBF DLL:0x1B DLH:0x00 fin:0x00)
Sending blocks of DXE 1 ... [1/2] [2/2] OK!
Sending blocks of DXE 2 ... [1/6] [2/6] [3/6] [4/6] [5/6] [6/6] OK!
You may want to run minicom or kermit now

Now, run your favorite Windows terminal program.