PandaBoard USBBOOT

From OMAPpedia

Revision as of 10:18, 19 August 2013 by Jeremiah (Talk | contribs)
Jump to: navigation, search

This article explains how to boot the pandaboard over the USB interface.

Required tools

To boot the Pandaboard over USB, you need to get the omap4boot tool:

git clone git://

Then, apply the following patch to change the u-boot start address:

diff --git a/config_panda.h b/config_panda.h
--- a/config_panda.h
+++ b/config_panda.h
@@ -8,7 +8,7 @@
 #define CONFIG_RAM_VECTORS             0x4030D000
 #define CONFIG_STACK_TOP               0x4030D000

-#define CONFIG_ADDR_DOWNLOAD           0x82000000
+#define CONFIG_ADDR_DOWNLOAD           0x80e80000
 #define CONFIG_ADDR_ATAGS              0x80000100
 #define CONFIG_ADDR_KERNEL             0x80008000

Then compile the tool;

make TOOLCHAIN=arm-linux-gnueabi-

This will produce several files in out/panda directory. We need aboot.bin and usbboot, and the u-boot.bin for your favorite panda. Failed to build complaining that "smc 1" is incorrect command for the architecture chosen? Here is the another patch to apply:

diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -42,6 +42,7 @@ TARGETCFLAGS := -g -Os -Wall
TARGET_CFLAGS += -march=armv7-a -fno-builtin -ffreestanding
TARGET_CFLAGS += -I. -Iinclude
TARGET_CFLAGS += -include config$(BOARD).h
+TARGET_CFLAGS += -Wa,-march=armv7-a+sec

TARGET_LIBGCC := $(shell $(TARGET_CC) $(TARGET_CFLAGS) -print-libgcc-file-name)


To boot your panda over USB, you have to be root on your local machine - or be one of sudoers. Run the following:

sudo ./usbboot aboot.bin u-boot.bin

where usbboot and aboot.bin are files that you built on the previous step, and u-boot.bin is your u-boot image. Do not power the panda up, instead connect the USB cable (one side to your PC, and another to J18 on the panda) and you should see the following on the PC's console:

# ./usbboot aboot.bin u-boot.bin
waiting for OMAP44xx device...
reading ASIC ID
CHIP: 4440
IDEN: 0000000000000000000000000000000000000000
MPKH: 0000000000000000000000000000000000000000000000000000000000000000
CRC0: 229e85ba
CRC1: 00000000
sending 2ndstage to target... f0030002
waiting for 2ndstage response...
sending image to target...

The panda's serial console should show something like

[ aboot second-stage loader ]

jumping to 0x80e80000...

and an u-boot prompt.

Issues? Problems?

Personal tools