BeagleBoard Community
This page collects information about TI's ARM based OMAP3 Beagle Board.
Contents
Hardware
The Beagle Board is a low-cost, fan-less single-board computer based on TIs OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise (from beagleboard.org). It uses a TI OMAP3530 processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz). See OMAP3530 features for more processor features. Target price is US-$ ~150,-. The design goal was to make is as simple as cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See What is Beagle? page for more details.
Top view:
- 1: OMAP3530 processor + 128MB DDR + 256MB NAND (PoP: Package-On-Package implementation for Memory Stacking)
- 2: DVI chip
- 3: DVI-D
- 4: 14-pin JTAG (needs Adapter to standard 20-pin ARM JTAG connector?)
- 5: Expansion connector: I2C, I2S, SPI, MMC/SD
- 6: User button (boot select)
- 7: Reset button
- 8: USB 2.0 HS
- 9: SD/MMC+
- 10: RS-232 serial (needs adapter to 9-pin serial SUB-D connector?)
- 11: Alternate power (normally powered by USB)
- 12: USB 2.0 HS OTG (Power)
- 13: Stereo In
- 14: Stereo Out
- 15: S-Video
- Board size: 3" x 3"
- Currently 6 layer PCB; target: 4 layer
Bottom:
Adapters
JTAG
Depending on your JTAG tool, you'd need a 14-pin to 20-pin adapter to use an ARM debugger. The 14-pin TI JTAG connector is used on BeagleBoard and is supported by a large number of JTAG emulation products.
Note: JTAG on BeagleBoard uses 1.8V!
OpenOCD currently doesn't support BeagleBoard Cortex-A8, only Cortex-M3. If this support is added and the JTAG scan chain for OMAP3 is known, Flyswatter from tincan TOOLS for ~ $50 would be an ideal JTAG choice. It supports 1.8V and additionally has an RS232 interface.
RS232
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy IDC10 to DB9M adapters in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a 9-Pin NullModem cable to connect BeagleBoard to serial port of your PC.
USB
The HS (HighSpeed) USB ECHI controller on OMAP3 on BeagleBoard supports high-speed only. This simplifies the logic on the device. FS/LS (FullSpeed/LowSpeed) devices, such as keyboards and mice, require going through a HS hub.
DVI
DVI-D connection on BeagleBoard uses a HDMI connector:
HDMI is backward-compatible with the single-link Digital Visual Interface carrying digital video (DVI-D or DVI-I, but not DVI-A) used on modern computer monitors and graphics cards. This means that a DVI-D source can drive an HDMI monitor, or vice versa, by means of a suitable adapter or cable, but the audio and remote control features of HDMI will not be available.
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.
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 SPRUFD6.
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 SPRUFD6 for more details.
Serial boot
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 are two (experimental) tools for UART boot:
Unfortunately, there is no working target code yet which can be downloaded to BeagleBoard and executed on OMAP3 ARM. I.e. PC UART tools are there, but no success to boot BeagleBoard with these.
MMC/SD boot
Currently, boot the BeagleBoard with MMC/SD is the only working way for first board bring up.
Code
Code and binaries for BeagleBoard are available at various places.
Attention: See koen's summary for status of code below.
Complete source and binaries
BeagleBoard pre-built binaries and source code can be found at Beagle source code and downloads page. Additionally, for X-loader there is a git repository. Recent patches should go as fast as possible
- to OMAP community for kernel.
- to U-Boot community for U-Boot.
Patches
Besides above code and binaries, there are some patches against recent upstream git repositories available:
Kernel:
- Kernel patches on OMAP ML (4 patches)
- MMC and USB patches on top of above kernel patches (2 patches)
U-Boot:
- Preliminary U-Boot patches on BeagleBoard ML
Compiler
CodeSourcery's ARM GNU/Linux tool chain is recommended.
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 as strange. He has been using 2007q3-53 for a couple of months now.
Links
- beagleboard.org (beagle board home)
- OMAP3530 processor description and manuals
- Beagle board memory map and flashing
- Beagle board discussion list
- Beagle board RSS feed
- Chat:
- Beagle Board chat on Pibb.com
- IRC: #beagle channel on irc.freenode.net
- IRC/Pibb.com archive
- Beagle board pictures at flickr
- Slides from TI developer conference (TIDC) open source session, covering also beagle board
- TI open source page
- DSP Bridge driver for OMAP3 platform
- OMAP34xx Wireless Technical Reference Manual (swpu114g.pdf, 47 MB)