Cip30x

This page collects information about BeagleBoard.org's open hardware embedded computer boards based on TI's ARM processors. Most of this material is applicable to the BeagleBoard and BeagleBoard-xM. The BeagleBone and BeagleBone Black from the same company employ a different SoC and are described on the BeagleBone page.

Note that all of CircuitCo's Beagle specific support wiki pages can be found within elinux.org's Beagleboard:Main_Page namespace. This content is only editable by CircuitCo employees.

 NEWS:
 * Limited numbers of Pixel Qi LCD kits and LVDs kits are now available from TinCanTools
 * TinCanTools has now discontinued Zippy2, and Zippy Boards.
 * BeadaFrame 7" LCD display kits for BeagleBoard and BeagleBone are available now!
 * 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor is available in stock now!
 * LVDS LCD add-on board LVDS LCD has been released and is available for order
 * An OLED touchscreen module "BeagleTouch" and lithium battery module "BeagleJuice" are now available from Liquidware

=Events=
 * Jeff's list of open source conferences

=Hardware= The BeagleBoard is a low-cost, fan-less single-board computer based on TI's 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 superscalar core ~600 MHz paired with a TMS320C64x+ DSP ~430MHz and an Imagination SGX 2D/3D graphics processor). See OMAP3530 features for more processor features. Price is USD 149. The design goal was to make it as simple and 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? and LinuxDevices article for more details.

The videos Beagle Board Beginnings and Beagle Board 3D, Angstrom, and Ubuntu give you a good intro about what BeagleBoard is about and its capabilities.

Components
* Board size: 3" x 3" (about 76.2 x 76.2 mm)
 * Weight: ~37 g
 * Currently six-layer PCB; target: four layer PCB

Bottom of rev B:



See jadonk's photostream for some more detailed BeagleBoard pictures.

Manual
See BeagleBoard System Reference Manual (rev. C3.0).

Schematic
Schematic of BeagleBoard Rev. C3 is available as part of BeagleBoard System Reference Manual (rev. C3.0). Rev C3 and previous are also available from BeagleBoard.org design page including in PDF format. Please make sure that you read, understand and agree Jason's mail before using this.

Layout
Layout of BeagleBoard Rev. C3 is available as part of BeagleBoard System Reference Manual (rev. C3.0). Rev C3 and previous layouts are also available from the BeagleBoard.org design page. Please make sure that you read, understand and agree Jason's mail before using this.

Errata

 * 1) Boards revision A only: The DC power jack pinout is incorrect on the PCB layout. DC_5V and GND are switched on PCB layout. Normally, the power jack has DC_5V on the center pin and GND on the sleeve (see Figure 20 of Beagle HW manual). But on revision Ax boards the PCB layout has GND on center and DC_5V on sleeve. For this reason it is currently removed. It will be back on the Rev B board. Workaround is to remove wire connecting the two power pins on revision Ax boards and use external power supply with switched connector (do not connect anything to the “?” terminal. USB power will be permanently disabled and the board can only be powered from the 5 V.) See Koen's Beagleboard powermod picture with short descriptions, too.
 * 2) Boards revision < A5 only: There is excess voltage drop across R6 which is used to measure the current consumption on the board. This needs to be a .1 ohm instead of a 1 ohm resistor (SMD 0805). All revision A5 boards have been updated to .1. You can also just solder in a jumper to J2 bypassing the current read point. This issue can cause issues with the USB host port as the voltage supplied to that port can be too low.
 * 3) Boards revision A only: User LEDs 0 and 1 are shorted on the layout preventing them from being controlled individually. You need to control both GPIO_149 and GPIO_150 to turn on or off both LEDs. This is fixed in the Rev B boards.
 * 4) Boards revision < A5 only: There is an issue where on some boards the 1.8 V has excessive noise on it. This is the result of two incorrect parts L1 and L3 being installed on the board. The inductors that were initially installed in the switchers are 100uH and need to be 1 uH. This change will require that the board be returned for update. To check for correct parts, have a look to bottom of BeagleBoard. L1 - L3 are the larger parts there. They all have to be labeled with "102" (== 1uH). If any of these three inductors are labeled with "104" (== 100 uH) they are wrong and have to be exchanged.
 * 5) Boards revision A and B: USB HOST (EHCI) failures. See issue 15 and USB host test reproduce. This is a hardware defect. Most probably Rev. B board does not have the EHCI USB connector mounted. Workaround: Use OTG port with something like mini A to USB A adapter instead.
 * 6) Boards revision A and < B4: Plugging in a USB OTG cable will prevent Beagle from booting (with Git kernel), see issue #19, too. This is due to missing filtering capacitor at USB OTG VBUS. When the kernel driver detects that a USB OTG cable is inserted it enables the charge pump to generate VBUS. With no filtering VBUS looks like any switching regulator output with no filtering -- a huge voltage spike when the switch is on, followed by a rapid decay to a low voltage until the next switch on period. The capacitor is there to store energy between the output switch ON and OFF time, the feedback loop in the regulator does sample the cap voltage. Fix is to piggy-back solder a 0603 2.2 µF ceramic capacitor to D3, see VBUS modification D3 picture. Revision B4 boards and newer have this fix applied. Thanks to Steve for debugging this!
 * 7) Boards revision A and < B5: There is some issue with a 32 kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on BeagleBoard might be affected. See Issue 22. The symptom from this is that after booting the Linux kernel, the serial console hangs after some time and no serial input/output is possible any more. There is one software workaround and one hardware fix for this: (A) Software workaround: Don't use the 32 kHz timer to clock Linux, instead use the MPU timer. (B) Hardware workaround: Remove capacitor C70, which improves the 32 kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 at the same location as rev. B boards. Note: Board revision >= B5 removes capacitor C70.
 * 8) Random boards, quite rare, revision < B6: Some random boards and quite rare, show directly after purchasing broken serial communication from the host PC to BeagleBoard. Symptom is that you get a new board, get serial output from BeagleBoard in terminal program, but can't type anything at U-Boot prompt (Note: Don't mix this with errata #7. With errata #7 you are able to use U-Boot normally, but the Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration (FAQ1, FAQ2 and FAQ3). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a RMA request. This issue was resolved on revision B6 and later boards.

For additional (software) issues and enhancement requests see Beagle board open point list & issue tracker, too.

Note: BeagleBoard revision B6 uses different package for U9/U11.

Clocking
Some notes about (ARM processor) clock rates at BeagleBoard:


 * ARM Cortex-A8 processor is currently clocked at 500 MHz
 * 500 MHz is the default used because it is a balance of performance and longevity
 * For OMAP35x 600 MHz is maximum recommended
 * An additional 720 MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the BeagleBoard C4
 * At 600 MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy
 * Higher than 600/720 MHz is out of specification and no guarantee it will work at all (or not damage itself)


 * Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the OMAP3530 data sheet. Some numbers:


 * For some OMAP3 clock, voltage and power management discussion see OMAP3 power management white paper, too.
 * The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see.
 * There is a thermal monitor in the core, you could use to scale frequency up and down

To set the CPU clock to 600 MHz, there are two options. Both do not adjust the voltage, so the system may become unstable:


 * The U-Boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).
 * To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.


 * To set the DSP clock to 430 MHz use "mw 48004040 0x0009ae0c".

Power management

 * Detailed OMAP3 Power Management Information can be found HERE
 * Latest Linux kernel power management development for TI OMAP SoCs is maintained in Kevin's linux-omap-pm git tree
 * Russ' Beagle HW modifications resulted in 8 mW sleep for Beagle Board

Without PM kernel, the Beagle consumes ~1.5 watts idle, however it also uses the same amount under load (see bottom of that page).

DLP Pico projector
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the BeagleBoard. The stand-alone pico projector will support VGA resolution (640 x 480 pixels), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See mailing list and Beagle Running Angstrom (VGA) on DLP Pico Projector for more details.

It is available from DigiKey for $349.

See article from Make, too.

DigiKey videos part 1, part 2 and part 3.

Interfacing to Raw LCD Panels
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. The REV C2 provides access to these lines. Several projects to interface an LCD to the BeagleBoard exist:


 * interfacing to Raw LCD Panels article
 * HDMI-to-parallel workaround method
 * dvi2par cheap DIY HDMI-to-parallel converter

=Availability=

BeagleBoard Rev. C3 boards are available from


 * Mouser
 * Digi-Key with part number 296-23428-ND.

BeagleBoard Rev. C4 boards are available from:


 * Liquidware

Note: For non-US Digi-Key free shipping orders:


 * Click the US flag on the top right corner of Digi-Key BeagleBoard page to come to the international page
 * Select Order Online for your country
 * Add quantity 1 and part number 296-23428-ND
 * Click Add to order

When ordering over 65 EUR / GBP 50 product (BeagleBoard is above), for Europe the price depends on the actual dollar to EUR/GBP rate. On nov 9, 2008 the price was EUR 124 with free shipping.

Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.

Note: While you get free shipping, most probably you have to pay tax, for example, ordering from Europe. Users report that they had to pay EUR ~34 - 44 VAT + importing taxes (depending on european country), resulting in EUR 137 - 147 ordering from Europe.

Note: For European users, EBV Elektronik sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).

Note: German (Europe) users can order through German shops, too. For higher price, though.
 * Embedded Projects Shop sells BeagleBoard for EUR 199.00 + shipping.
 * Watterott electronic sells BeagleBoard for EUR 124,95 + shipping.

See below for hardware differences of the revisions. There are no software differences.

Revision A
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See errata for limitations.

Revision B
Revision B is same as revision A, except Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.
 * fix for shorted LEDs 0/1
 * fix for wrong power jack pinout
 * revision B6 uses different package for U9/U11

There are 4 revisions of the B board in the field: B4, B5, B6 and B7.

The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.

Revision C2
Revision C2 is same as revision B7 except:
 * USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.
 * Add interface for raw LCDs (mockup)
 * It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:
 * updated ARM Cortex A8 silicon (r1p3) fixing a very rare NEON issue that has not been seen in real code
 * Power measurement feature
 * Uses TPS65950 OMAP power controller instead of TWL4030
 * Three additional PWM signals on the expansion connector added as pin mux options to existing pins (message)
 * Revision detection (to be able to identify C2 board from older boards by software, for example, for different pin mux)
 * 256 MB RAM (message) (and still 256 MB NAND like rev B)

Note: Revision C2 is the first production version, and all orders from Digi-Key are shipped as Rev C2.

Revision C3
As revision C2 boards are sold out, revision C3 will ship now.

Revision C3 is same as revision C2 except:
 * Optional RTC VL1220 series backup battery
 * Mounting holes conected to ground
 * Slightly improved S-Video

Revision C4
Revision C4 boards are the same as Revision C3 except:
 * Processor is 720 MHz capable OMAP3
 * Improved USB Host PHY power rails

Revision C5
Revision C5 boards are the same as Revision C4 except:
 * The memory chip is upgraded to 512 MB NAND

EBVBeagle
EBV build and sell their own BeagleBoard called EBVBeagle, see e.g.. It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB-to-Ethernet adapter, MMC card, USB hub and some cables. More information in official press release.

Mini Board
ICETEK-OMAP3530-Mini is a Chinese BeagleBoard clone.

DevKit8000
DevKit8000 is from Embest, China. It is a compact development board based on TI OMAP3530.

DevKit8500D
DevKit8500D is from Embest, China. It is a high-performance development board based on TI DM3730.

SBC8530
SBC8530 is from Embest, China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.

Tianyeit CIP312
CIP312 is from Tianyeit, China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5 mm package ; For detailed information, please visit our website

IGEPv2
IGEPv2 Platform is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like, for example, Ethernet connector, Wi-Fi and Bluetooth.
 * 720 MHz OMAP3 Processor
 * 512 MB RAM / 512 MB Flash

SOM3530
SOM3530 is a Chinese BeagleBoard clone System-on-Module, dimensions 40x40x4 mm, maybe the smallest OMAP3530-based modules in the world! Including 100 Mbit/s high perfomance Ethernet I/F.

BeagleBoard-based products

 * Always Innovating Touch Book, see

Beagle case

 * Special Computing acrilyic case
 * SketchUp 3D model
 * eSawdust metal case
 * Aspect metal case for BeagleBoard-xM

=Adapters=

For quite detailed information about all BeagleBoard peripherals see BeagleBoard HW Reference Manual (rev. B6).

See BeagleBoard peripherals and adapters page for useful add ons for BeagleBoard.

Expansion boards
See Category:BeagleBoard_Expansion_Boards for more information about expansion boards

BeadaFrame - A 7" TFT LCD Screen with resistive touch for BeagleBoard and BeagleBone. A plastic (ABS) frame is included also for ease of mounting.

LVDS LCD - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. The board is open-source.

BeagleTouch - A modular "shield" that snaps on top of the BeagleBoard and provides a touch-screen OLED interface

BeagleJuice - A lithium ion battery module that snaps on the back of the BeagleBoard that powers the BeagleBoard.

LOX - A dual channel internet linking radio (Ham, GMRS, etc.) interface that can run any combination of two repeaters, simplex nodes, or remote bases.

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. See BeagleBoardJTAG for more information.

The XDS100v2 USB JTAG Emulator is available from Embest which is the second release of the XDS100 JTAG emulator technology supporting debug of a variety of TI devices.

RS-232
The pinout on the BeagleBoard 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. From TinCanTools there is a RS-232 DB-9 adapter and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.

Depending on your local configuration, you may need a 9-Pin NullModem cable to connect BeagleBoard to serial port of your PC. From TinCanTools there is a RS-232 DB-9 adapter and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.

USB-to-Serial Converter
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.

USB
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller. As of Rev B4, the usb EHCI has been removed because of a hardware defect. Rev C will include USB EHCI working properly.

EHCI
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 high-speed USB 2.0 hub.

According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5 V at 500 mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5 V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100 mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]

Hardware issue on rev C3 - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8 V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 µF 0805 package SMT capacitor atop the existing capacitor on C97. If SMT parts are not available, some boards can be repaired by a 22 µF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See for more information.

OTG
The HS USB OTG (OnTheGo) controller on OMAP3 on the BeagleBoard does have support for all the USB 2.0 speeds (LS/FS/HS) and can act as either a host or a gadget/device. The HS USB OTG port is used as the default power input for the BeagleBoard. It is possible to boot the BeagleBoard using this USB port.

When using the OTG port in host mode, you must power the BeagleBoard using the +5 V power jack. If you connect a USB hub, you'll probably also need external power for the USB hub as well, because according to the Hardware Reference manual the BeagleBoard OTG port only sources 100 mA. This is enough to drive a single low-power device, but probably won't work with multiple devices.

The Linux kernel needs to know you want to use the OTG port in host mode. I believe OTG ports are supposed to figure this out for themselves using the OTG Host Negotiation Protocol, but for now the Linux kernel may need some help. Specifically, Pin 4 (ID) of the OTG connector needs to be shorted to Pin 5 (GND) by using a 5-pin USB Mini-A plug which shorts these pins together in the plug. A 5-pin USB Mini-B plug leaves Pin 4 floating. Unfortunately, most USB Mini plugs are unmarked as to whether they are "A" or "B".

You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack here. The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5. See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.

DVI
DVI-D connection on BeagleBoard uses an 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 a 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 an HDMI male to DVI male cable.

The BeagleBoard does not connect the HDMI shell to ground or any other BeagleBoard signal. This is not a problem with high-quality HDMI to DVI cables that connect all the ground wires. However, there are lots of cheap HDMI to HDMI cables that do not connect the ground wires and only use the shell as a combined shield and ground. To use one of these you would need to connect the BeagleBoard's HDMI shell to ground. The BeagleBoard-xM connects the HDMI shell to frame ground, which is in turn connected to system ground through R119. For more information, see this thread:.

Arduino

 * Trainer Board from TinCanTools has an Arduino compatible Atmel AVR on board
 * Arduino Nano uses an FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- How To Notes
 * Arduino Uno uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - How To Notes

=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 environment 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:


 * Linux C utility (not working yet with below target code)

See USB and serial download target code for some example target code to be downloaded to OMAP3 on BeagleBoard.

USB boot
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login. It's is used with a new version of omap3_usbload.


 * x-loader-usb

Besides Nishanth' OMAP U-Boot Utils, for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:


 * Linux C utility

See USB and serial download target code for some example target code to be downloaded to OMAP3 on BeagleBoard.

See the USB recovery section on 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, for example, 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 (for example, in U-Boot 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 the BeagleBoard. For example (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).

Barebox booting
You can also use barebox to boot.

On barebox you will have to generate it two time.

The first time as a x-loader via defconfig: omap3530_beagle_xload_defconfig

The second time as the real boot loader omap3530_beagle_defconfig