Template Information

Trang

Booting option of BeagleBoard

Thứ Hai, 20 tháng 6, 2011 / 09:19

BootRom

OMAP3 on BeagleBoard contains a BootRom. With this, BeagleBoard can boot without any code in permanent storage (NAND) or from peripherals. This is useful for first board bring up or if your BeagleBoard is bricked. For more information about BootRom booting see the Initialization chapter of SPRUF98.

User button

With user button on BeagleBoard you can configure boot order. Depending on this button, the order used to scan boot devices is changed. The boot order is (the first is the default boot source):
  • User button not pressed: NAND -> USB -> UART -> MMC
  • User button is pressed: USB -> UART -> MMC -> NAND
Technically speaking, the user button configures pin SYS.BOOT[5]. See the Initialization chapter of SPRUF98 for more details.

Serial and USB boot

Historically, using OMAP3's boot ROM for serial and USB boot, there are several tools around. The newest are Nishanth' OMAP U-Boot Utils, while there are still some older tools for serial boot and USB boot. It is also possible to access the u-boot env from linux.

OMAP U-Boot Utils

Nishanth' OMAP U-Boot Utils provide
  • pserial - OMAP specific utility which downloads a file in response to ASIC ID over serial port.
  • pusb - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.
  • ucmd - Send a command to U-Boot and wait till a specific match appears.
  • ukermit - Download a file from host without using kermit to U-Boot.
See Nishanth' blog and announce mail, too.

Serial boot

Besides Nishanth' OMAP U-Boot Utils, to boot from USB or UART, you need a PC tool which talks with OMAP BootRom and speaks the correct protocol to download ARM target code to BeagleBoard. Currently there is one tool for UART boot:
See USB and serial download target code for some example target code to be downloaded to OMAP3 on BeagleBoard.

USB boot

Besides Nishanth' OMAP U-Boot Utils, for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:
See USB and serial download target code for some example target code to be downloaded to OMAP3 on BeagleBoard.
See USB recovery section how to use USB boot for board recovery.

NAND boot

See NAND boot article.

MMC/SD boot

Currently, boot the BeagleBoard with MMC/SD is the only working way for first board bring up.

MMC/SD formatting

As described in above MMC/SD boot description, you have to create a bootable partition on MMC/SD Card. This can be done using e.g. Windows or Linux tools.
Windows
See HP USB Disk Storage Format Tool 2.0.6 description on boot the BeagleBoard with MMC/SD page.
You can download this tool from here. Make sure the version is 2.0.6; newer versions may not work.
Linux
Please see OMAP3 MMC Boot Format.

Dual partition card

You can create a dual-partition card, booting from a FAT partition that can be read by the OMAP3 ROM bootloader and Windows, then utilizing an ext2 partition for the Linux root file system.
To mount second ext2 partition as root file system (e.g. containing contents of rd-ext2.bin) use kernel boot arguments (e.g. in uboot using setenv bootargs):
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait

U-Boot booting

If your MMC/SD card formatting is correct and you put MLO, u-boot.bin and uImage on the card you should get a u-boot prompt after booting beagle board. E.g. (output from terminal program with 115200 8N1):
...40T.........XH.H.U�..Instruments X-Loader 1.41
Starting on with MMC
Reading boot sector

717948 Bytes Read from MMC
Starting OS Bootloader from MMC...

U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)

OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)
DRAM: 128 MB
Flash: 0 kB
NAND:256 MiB
In: serial
Out: serial
Err: serial
Audio Tone on Speakers ... complete
OMAP3 beagleboard.org #
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:
OMAP3 beagleboard.org # mmc init
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage
OMAP3 beagleboard.org # bootm
If you like to make that happen every boot:
OMAP3 beagleboard.org # set bootcmd 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv
Note: saveenv will not work on the xM. You will need to create a boot.scr file in the FAT partition for the xM. See set up u-boot
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).

0 nhận xét:

Đăng nhận xét