https://elinux.org/api.php?action=feedcontributions&user=Embinux&feedformat=atomeLinux.org - User contributions [en]2024-03-28T09:05:33ZUser contributionsMediaWiki 1.31.0https://elinux.org/index.php?title=BeagleBoard_Community&diff=9148BeagleBoard Community2009-01-23T09:53:19Z<p>Embinux: /* Beagle wiki pages */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
<br />
[http://www.micron.com/products/mcps/beagleboard Micron's multi chip packages (MCPs) for Beagle Board]<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
| SDHC cards are supported<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It is available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] for $349.<br />
<br />
See [http://blog.makezine.com/archive/2009/01/tis_beagleboard_and_dlp_pico_projector.html?CMP=OTC-0D6B48984890 article from Make], too.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://dkc1.digikey.com/us/mkt/beagleboard.html Digi-Key] with part number [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23428-ND 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://dkc1.digikey.com/us/mkt/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C1.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
* Power measurement<br />
* Will use [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950]<br />
* Additional signals on the expansion connector ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C1 board from older boards by software, e.g. for different pin mux)<br />
* Will have 256MB ram ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
* Price will go up to $159 to pay for the extra memory<br />
<br />
Note: Revision C1 is expected end March 2009. There are some early revision C0 prototypes out there, but they still have the USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
* [http://www.hervanta.com/stuff/Beaglebot#Expansion_Board Beaglebot] uses a custom extension board.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
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.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<table><br />
<tr><td><br />
Since the right cables might be hard to get, you simply can<br />
* short circuit the two pins encircled in red in the image to the right. You can do this by running a wire between the two pins. That at least allows easier undoing the change. Actually you could even have a small switch or so between 4 and 5.<br />
or<br />
* use a "mini B" cable (easier to get) and try the soldering of the two pins at the cable's connector. Depending on the cable it should be possible to open the plastic covering of mini-B port with a sharp-edged knife, then solder the two pins together, close the covering again and use some tape. This would let BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6a SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://focus-webapps.ti.com/general/docs/sitesearch/searchsite.tsp?selectedTopic=1653260327&numRecords=25&searchTerm=sprufd6&statusCode=null SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2009.X-test-20090104-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended. An [http://people.mozilla.com/~vladimir/misc/cs2007q3-armel.tar.gz ARM-native version of CS2007q3 has been built] as well. You can also install a native tool-chain from Angstrom.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the [http://code.google.com/android/ Android SDK]. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
There are several resources for Android on OMAP (Beagle) available:<br />
<br />
'''OMAPZOOM'''<br />
<br />
You can find Android port for OMAP ZOOM architecture on [https://omapzoom.org/gf/project/omapandroid/wiki/ OMAPZoom.org's wiki page on Android]. <br />
<br />
'''EMBINUX'''<br />
<br />
[http://beagleboard.org/project/android Beagleboard.org's Android project page] [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 announced], the successful porting of Android on Beagle board by [http://embinux.com EMBINUX&trade;] Team. The [http://labs.embinux.org/git/ source code] and [http://www.embinux.com/download_beagle.php binaries] are available for download and review. <br />
<br />
Detailed instructions, for porting Android on Beagle Board, are available [http://labs.embinux.org/index.php/Main_Page here]. Current release supports input devices (keyboard/mouse), network and sound.<br />
<br />
You can [http://in.youtube.com/watch?v=nADn_vNVEKw watch Android booting] on Beagle Board.<br />
<br />
'''Andorid on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=3ToYOgP9f9U SGX on Beagle working with Linux 2.6.27]<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including [http://www.beagleboard.org/irclogs/ IRC logs]) using ''site:beagleboard.org <search term>''<br />
<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
* [http://www.micron.com/products/mcps/beagleboard Micron's multi chip packages (MCPs) for Beagle Board]<br />
* [http://beagleboard.org/resources Beagleboard resources page with hw docs]<br />
* Some [http://www.rasterman.com/ performance comparison] of BeagleBoard Rev. B with some other ARM/PC systems.<br />
* OMAP3 pinmux [http://www.hy-research.com/omap3_pinmux.html setup]<br />
<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
* [[BeagleBoard/contest|BeagleBoard contest]] #1: Create a cool BeagleBoard application and win a Rev C1! Closed, ran until January 9, 2009<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[BeagleBoard/James|James]]: Just A Miniature Entertainment System<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [http://www.hervanta.com/stuff/Beaglebot Beaglebot]: build an experimental robotics project with Beagle<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
* [http://labs.embinux.org/index.php/Android_Porting_Guide_to_Beagle_Board Android port for BeagleBoard]: Instructions for porting Android on BeagleBoard<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* [http://www.youtube.com/watch?v=3ToYOgP9f9U SGX on Beagle working with Linux 2.6.27]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://mistralsolutions.com/products/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
* OMAP3 based [[Mini_Board|ICETEK-OMAP3530-Mini]], a Chinese BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=9147BeagleBoard Community2009-01-23T07:58:34Z<p>Embinux: /* Android */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
<br />
[http://www.micron.com/products/mcps/beagleboard Micron's multi chip packages (MCPs) for Beagle Board]<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
| SDHC cards are supported<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It is available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] for $349.<br />
<br />
See [http://blog.makezine.com/archive/2009/01/tis_beagleboard_and_dlp_pico_projector.html?CMP=OTC-0D6B48984890 article from Make], too.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://dkc1.digikey.com/us/mkt/beagleboard.html Digi-Key] with part number [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23428-ND 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://dkc1.digikey.com/us/mkt/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C1.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
* Power measurement<br />
* Will use [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950]<br />
* Additional signals on the expansion connector ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C1 board from older boards by software, e.g. for different pin mux)<br />
* Will have 256MB ram ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
* Price will go up to $159 to pay for the extra memory<br />
<br />
Note: Revision C1 is expected end March 2009. There are some early revision C0 prototypes out there, but they still have the USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
* [http://www.hervanta.com/stuff/Beaglebot#Expansion_Board Beaglebot] uses a custom extension board.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
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.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<table><br />
<tr><td><br />
Since the right cables might be hard to get, you simply can<br />
* short circuit the two pins encircled in red in the image to the right. You can do this by running a wire between the two pins. That at least allows easier undoing the change. Actually you could even have a small switch or so between 4 and 5.<br />
or<br />
* use a "mini B" cable (easier to get) and try the soldering of the two pins at the cable's connector. Depending on the cable it should be possible to open the plastic covering of mini-B port with a sharp-edged knife, then solder the two pins together, close the covering again and use some tape. This would let BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6a SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://focus-webapps.ti.com/general/docs/sitesearch/searchsite.tsp?selectedTopic=1653260327&numRecords=25&searchTerm=sprufd6&statusCode=null SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2009.X-test-20090104-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended. An [http://people.mozilla.com/~vladimir/misc/cs2007q3-armel.tar.gz ARM-native version of CS2007q3 has been built] as well. You can also install a native tool-chain from Angstrom.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the [http://code.google.com/android/ Android SDK]. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
There are several resources for Android on OMAP (Beagle) available:<br />
<br />
'''OMAPZOOM'''<br />
<br />
You can find Android port for OMAP ZOOM architecture on [https://omapzoom.org/gf/project/omapandroid/wiki/ OMAPZoom.org's wiki page on Android]. <br />
<br />
'''EMBINUX'''<br />
<br />
[http://beagleboard.org/project/android Beagleboard.org's Android project page] [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 announced], the successful porting of Android on Beagle board by [http://embinux.com EMBINUX&trade;] Team. The [http://labs.embinux.org/git/ source code] and [http://www.embinux.com/download_beagle.php binaries] are available for download and review. <br />
<br />
Detailed instructions, for porting Android on Beagle Board, are available [http://labs.embinux.org/index.php/Main_Page here]. Current release supports input devices (keyboard/mouse), network and sound.<br />
<br />
You can [http://in.youtube.com/watch?v=nADn_vNVEKw watch Android booting] on Beagle Board.<br />
<br />
'''Andorid on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=3ToYOgP9f9U SGX on Beagle working with Linux 2.6.27]<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including [http://www.beagleboard.org/irclogs/ IRC logs]) using ''site:beagleboard.org <search term>''<br />
<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
* [http://www.micron.com/products/mcps/beagleboard Micron's multi chip packages (MCPs) for Beagle Board]<br />
* [http://beagleboard.org/resources Beagleboard resources page with hw docs]<br />
* Some [http://www.rasterman.com/ performance comparison] of BeagleBoard Rev. B with some other ARM/PC systems.<br />
* OMAP3 pinmux [http://www.hy-research.com/omap3_pinmux.html setup]<br />
<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
* [[BeagleBoard/contest|BeagleBoard contest]] #1: Create a cool BeagleBoard application and win a Rev C1! Closed, ran until January 9, 2009<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[BeagleBoard/James|James]]: Just A Miniature Entertainment System<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [http://www.hervanta.com/stuff/Beaglebot Beaglebot]: build an experimental robotics project with Beagle<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* [http://www.youtube.com/watch?v=3ToYOgP9f9U SGX on Beagle working with Linux 2.6.27]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://mistralsolutions.com/products/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
* OMAP3 based [[Mini_Board|ICETEK-OMAP3530-Mini]], a Chinese BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8652BeagleBoard Community2008-12-22T12:16:14Z<p>Embinux: /* Android */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the [http://code.google.com/android/ Android SDK]. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
There are several resources for Android on OMAP (Beagle) available:<br />
<br />
'''OMAPZOOM'''<br />
<br />
You can find Android port for OMAP ZOOM architecture on [https://omapzoom.org/gf/project/omapandroid/wiki/ OMAPZoom.org's wiki page on Android]. <br />
<br />
'''EMBINUX'''<br />
<br />
[http://beagleboard.org/project/android Beagleboard.org's Android project page] [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 announced], the successful porting of Android on Beagle board by [http://embinux.com EMBINUX&trade;] Team. The [http://labs.embinux.org/git/ source code] and [http://www.embinux.com/download_beagle.php binaries] are available for download and review. <br />
<br />
Detailed instructions, for porting Android on Beagle Board, are available [http://labs.embinux.org/android-porting-on-beagle.html here]. Current release supports input devices (keyboard/mouse), network and sound.<br />
<br />
You can [http://in.youtube.com/watch?v=nADn_vNVEKw watch Android booting] on Beagle Board.<br />
<br />
'''Andorid on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8637BeagleBoard Community2008-12-22T09:31:37Z<p>Embinux: /* Android */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the [http://code.google.com/android/ Android SDK]. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://beagleboard.org/project/android Beagleboard.org's Android project page] [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 announced], the successful porting of Android on Beagle board by [http://embinux.com EMBINUX&trade;] Team. The [http://labs.embinux.org/git/ source code] and [http://www.embinux.com/download_beagle.php binaries] are available for download and review. <br />
<br />
Detailed instructions, for porting Android on Beagle Board, are available [http://labs.embinux.org/android-porting-on-beagle.html here]. Current release supports input devices (keyboard/mouse), network and sound.<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8636BeagleBoard Community2008-12-22T09:29:41Z<p>Embinux: /* Android */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the [http://code.google.com/android/download.html Android SDK]. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://beagleboard.org/project/android Beagleboard.org's Android project page] [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 announced], the successful porting of Android on Beagle board by [http://embinux.com EMBINUX&trade;] Team. The [http://labs.embinux.org/git/ source code] and [http://www.embinux.com/download_beagle.php binaries] are available for download and review. <br />
<br />
Detailed instructions, for porting Android on Beagle Board, are available [http://labs.embinux.org/android-porting-on-beagle.html here]. Current release supports input devices (keyboard/mouse), network and sound.<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8635BeagleBoard Community2008-12-22T08:36:19Z<p>Embinux: /* Android */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://beagleboard.org/project/android Beagleboard.org's Android project page] [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 announced], the successful porting of Android on Beagle board by [http://embinux.com EMBINUX&trade;] Team. The [http://labs.embinux.org/git/ source code] and [http://www.embinux.com/download_beagle.php binaries] are available for download and review. <br />
<br />
Detailed instructions, for porting Android on Beagle Board, are available [http://labs.embinux.org/android-porting-on-beagle.html here]. Current release supports input devices (keyboard/mouse), network and sound.<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8634BeagleBoard Community2008-12-22T07:40:37Z<p>Embinux: /* Android */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. You can also download binaries (kernel image and Android RFS) [http://www.embinux.com/download_beagle.php here]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8633BeagleBoard Community2008-12-22T07:33:21Z<p>Embinux: /* Android Distro */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8632BeagleBoard Community2008-12-22T07:32:07Z<p>Embinux: /* Eclipse */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
==Android Distro==<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8631BeagleBoard Community2008-12-22T07:27:12Z<p>Embinux: /* Beagle videos */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
===Android Distro===<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
* [http://in.youtube.com/watch?v=nADn_vNVEKw Beagle Board booting Android]<br />
<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8630BeagleBoard Community2008-12-22T07:22:48Z<p>Embinux: /* Android Distro */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
===Android Distro===<br />
[http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8629BeagleBoard Community2008-12-22T07:21:59Z<p>Embinux: /* Android Distro */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
===Android Distro===<br />
The [http://source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8628BeagleBoard Community2008-12-22T07:16:26Z<p>Embinux: /* Android Distro */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
===Android Distro===<br />
The [http://www.source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by [http://embinux.com Embinux Team] for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinuxhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=8627BeagleBoard Community2008-12-22T07:15:12Z<p>Embinux: /* Android distro */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
This page collects information about [http://www.ti.com/ TI's] [http://www.arm.com/ ARM] based [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;DCMP=OMAP_Feb27_2008&amp;HQS=Other+PR+omap3503pr OMAP3] [http://beagleboard.org Beagle Board].<br />
<br />
=Events=<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]: Create a cool BeagleBoard application and win a Rev C1!''' Until January 5, 2009.<br />
* January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre: [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica]<br />
<br />
=Hardware=<br />
<br />
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 [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 Core ~600MHz + TMS320C64x+ DSP ~430MHz + Imagination SGX 2D/3D graphics processor). See [http://focus.ti.com/docs/prod/folders/print/omap3530.html#features OMAP3530 features] for more processor features. [[BeagleBoard#Availability|Target price is US-$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 [http://beagleboard.org/brief What is Beagle?] and [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article] for more details.<br />
<br />
The videos [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings] and [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu] give you a good intro about what BeagleBoard is about and it's capabilities.<br />
<br />
==Components==<br />
<br />
'''Top view:'''<br />
<br />
[[Image:Beagle_top_notes.jpg]]<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 128MB DDR + 256MB NAND <br />
|PoP: Package-On-Package implementation for Memory Stacking<br />
[http://www.micron.com/products/partdetail?part=MT29C2G24MAKLAJG-6%20IT 256MB NAND/128MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1435-ND DigiKey]<br />
<br />
([http://www.micron.com/products/partdetail?part=MT29C4G48MAPLCJI-6%20IT 512MB NAND/256MB Mobile DDR SDRAM] available from [http://www.digikey.com/scripts/US/DKSUS.dll?Detail?name=557-1436-ND DigiKey])<br />
|-<br />
|'''2'''<br />
|[http://focus.ti.com/docs/prod/folders/print/tfp410.html DVI chip (TFP410)]<br />
|<br />
|-<br />
|'''3'''<br />
|[[BeagleBoard#DVI|DVI-D]]<br />
|Connection via HDMI connector<br />
|-<br />
|'''4'''<br />
|[[BeagleBoard#JTAG|14-pin JTAG]]<br />
|<br />
|-<br />
|'''5'''<br />
|Expansion connector: I2C, I2S, SPI, MMC/SD<br />
|User must solder desired header into place<br />
|-<br />
|'''6'''<br />
|[[BeagleBoard#User_button|User button]] <br />
|Allows setting boot order.<br />
|-<br />
|'''7'''<br />
| Reset button<br />
|<br />
|-<br />
| '''8'''<br />
|[[BeagleBoard#EHCI|USB 2.0 EHCI HS]]<br />
|Currently not working in rev A or B boards; Rev C planned.<br />
|-<br />
|'''9'''<br />
|SD/MMC+<br />
|<br />
|-<br />
|'''10'''<br />
|[[BeagleBoard#RS232|RS-232 serial]]<br />
|<br />
|-<br />
|'''11'''<br />
|Alternate power <br />
|normally powered by USB (unmounted on REV Ax boards, see [[BeagleBoard#Errata|errata]])<br />
|-<br />
|'''12'''<br />
|[[BeagleBoard#OTG|USB 2.0 HS OTG]] <br />
|Mini-AB connector. Board can be powered from port. <br />
|-<br />
|'''13'''<br />
|Stereo In<br />
|<br />
|-<br />
|'''14'''<br />
|Stereo Out<br />
|<br />
|-<br />
|'''15'''<br />
|S-Video<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3"<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom:'''<br />
<br />
[[Image:Beagle_bottom.jpg]]<br />
<br />
See [http://www.flickr.com/photos/jadon/sets/72157606050144396/ jadonk's photostream] for some more detailed BeagleBoard pictures.<br />
<br />
==Manual==<br />
<br />
See [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)], from [http://beagleboard.org/hardware/design BeagleBoard.org design page] or in [http://xgoat.com/proj/beagleboard/schematic.pdf PDF format]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Layout== <br />
<br />
Layout of BeagleBoard Rev. B is available as part of [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)] or from [http://beagleboard.org/hardware/design BeagleBoard.org design page]. Please make sure that you ''read, understand and agree'' [http://groups.google.com/group/beagleboard/msg/ee3e1bc927551ffc Jason's mail] before using this.<br />
<br />
==Errata==<br />
<br />
# ''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 [http://www.beagleboard.org/uploads/BBSRM_6.pdf 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 [http://amethyst.openembedded.net/~koen/beagleboard/beagle-power-pads.jpg 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 5V.) See [http://www.flickr.com/photos/koenkooi/2512038988/ Koen's Beagleboard powermod picture] with short descriptions, too.<br />
# ''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.<br />
# ''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.<br />
# ''Boards revision < A5 only'': There is an issue where on some boards the 1.8V 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 1uH. 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" (== 100uH) they are wrong and have to be exchanged.<br />
# ''Boards revision A and B'': USB HOST (EHCI) failures. See [http://code.google.com/p/beagleboard/issues/detail?id=15 issue 15] and [http://code.google.com/p/beagleboard/wiki/USBHostTestREPRODUCE USB host test reproduce]. This is a hardware defect. [http://www.beagleboard.org/irclogs/index.php?date=2008-05-29#T00:27:06 Most probably] Rev. B board will be without the EHCI USB connector mounted and in a few weeks having a different SKU for the Rev. C boards with the EHCI USB fixed. Won't be fixed for Rev. A and Rev. B boards. Needs different PHY. Workaround: Use [[BeagleBoard#OTG|OTG port]] with something like [http://trisoft.de/pics/ZHost.JPG mini A to USB A adapter] instead.<br />
# ''Boards revision A and < B4'': Plugging in a USB OTG cable will prevent Beagle from booting (with git kernel), see [http://code.google.com/p/beagleboard/issues/detail?id=19 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.2uF ceramic capacitor to D3, see [http://www.sakoman.net/omap3/beagle/vbus-mod-d3.jpg VBUS modification D3 picture]. Revision B4 boards and newer have this fix applied. Thanks to [http://groups.google.com/group/beagleboard/msg/eb789e15c99a673d Steve] for debugging this!<br />
# ''Boards revision A and < B5'': There is some issue with 32kHz clock depending on system configuration used to clock some OMAP3 peripherals. From this e.g. GPIOs, GPTIMERs, and USB on Beagle might be affected. See [http://code.google.com/p/beagleboard/issues/detail?id=22 Issue 22]. Symptom from this is that after booting Linux kernel 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 32kHz timer to clock Linux, instead use MPU timer. (B) Hardware workaround: Remove [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard capacitor C70], which improves the 32kHz clock quality and avoids hang-up. Note: Revision A boards have capacitor C70 [http://www.flickr.com/photos/25691331@N04/2766671437/in/pool-beagleboard at the same location] as rev. B boards. Note: Board revision >= B5 removes capacitor C70.<br />
# ''Random boards, quite rare'': Some random boards, quite rare, show directly after purchasing broken serial communication from 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 Linux prompt input stops after some time). Most users don't have this issue, though. So, first double check your serial configuration ([[BeagleBoardFAQ#Serial_connection_.231|FAQ1]], [[BeagleBoardFAQ#Serial_connection_.232|FAQ2]] and [[BeagleBoardFAQ#Serial_connection_.233|FAQ3]]). Only if you are really, really sure that anything with your serial connection is fine, consider sending the board back doing a [http://beagleboard.org/support/rma RMA request]. <br />
<br />
For additional (software) issues and enhancement requests see [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker], too.<br />
<br />
Note: BeagleBoard revision B6 uses different package for U9/U11.<br />
<br />
==Clocking==<br />
<br />
Some [http://www.beagleboard.org/irclogs/index.php?date=2008-07-08#T21:12:23 notes] about (ARM processor) clock rates at BeagleBoard:<br />
<br />
* ARM processor at BeagleBoard currently uses 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* At 600MHz OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in table 3-3 of the [http://focus.ti.com/lit/ds/symlink/omap3530.pdf OMAP3530 data sheet]. Some numbers:<br />
<br />
{| border="1"<br />
||'''ARM'''||'''DSP'''||'''core voltage'''<br />
|-<br />
|600 MHz||430 MHz||1.35V<br />
|-<br />
|550 MHz||400 MHz||1.27V<br />
|-<br />
|500 MHz||360 MHz||1.2V<br />
|}<br />
<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
See [http://git.mansr.com/?p=u-boot;a=commitdiff;h=caccdb772c3028a3e3e801fb1554788150752ffc Mans' hack] to configure clock in U-Boot (V1) to 600MHz.<br />
<br />
==DLP Pico projector==<br />
<br />
Texas Instruments is developing a Pico Video Projector Kit (PVPK) as a peripheral for the Beagle Board. The stand alone pico projector will support VGA resolution (640 x 480), RGB 888 input through a DVI interface. The physical connector on the projector will be HDMI. See [http://groups.google.com/group/beagleboard/msg/10e218972380ee48 mailing list] and [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector] for more details.<br />
<br />
It will be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-23836-ND DigiKey] starting at ~January 2009 for expected price $349.<br />
<br />
==Interfacing to Raw LCD Panels==<br />
<br />
Currently on Rev A / B boards there is no direct access to the LCD lines before they enter the DVI framer. There are plans to implement access to these lines in Rev C. <br />
See [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article for a workaround method.<br />
<br />
=Availability=<br />
<br />
BeagleBoards, currently Rev. B boards, are available from [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] with part number [http://dkc1.digikey.com/us/en/tod/Texas_Instruments/BeagleBoard.html 296-23428-ND].<br />
<br />
Note: For non-US free shipping orders:<br />
<br />
* Click the US flag on the top right corner of [http://mkt.digikey.com/ga/pages/beagleboard.html Digi-Key] BeagleBoard page to come to the international page<br />
* Select ''Order Online'' for your country<br />
* Add quantity ''1'' and part number ''296-23428-ND''<br />
* Click ''Add to order''<br />
<br />
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.<br />
<br />
Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done.<br />
<br />
Note: While you get free shipping, most probably you have to pay tax e.g. 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.<br />
<br />
The Rev. B boards currently oderable do not have support for the USB EHCI port (see [[BeagleBoard#Errata|hardware errata #5]]) and are not yet fully supported by the [http://source.mvista.com/git/?p=linux-omap-2.6.git;a=summary linux-omap git] tree. These boards are being targeted only for early adopter developers. Rev. C boards (see below) will be available later under a different part number. <br />
<br />
See below for ''hardware'' differences of the revisions. There are no ''software'' differences. <br />
<br />
==Revision A==<br />
<br />
There are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See [[BeagleBoard#Errata|errata]] for limitations.<br />
<br />
==Revision B==<br />
<br />
Revision B is same as revision A, except<br />
* fix for shorted LEDs 0/1<br />
* fix for wrong power jack pinout<br />
* revision B6 uses different package for U9/U11<br />
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted.<br />
<br />
==Revision C==<br />
Revision C is same as revision B except:<br />
* USB HOST (EHCI) will be operational on revision C.<br />
* add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* possibly have [http://www.beagleboard.org/irclogs/index.php?date=2008-10-01#T19:10:58 256MB] of slightly faster RAM instead of 128MB SDRAM<br />
* It will use updated OMAP3 revision. BeagleBoard revision B uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C is supposed to use ES 3.0. OMAP3 ES 3.0 will fix minor issues:<br />
** updated ARM Cortex A8 silicon (r1p3) fixing a very rare [http://elinux.org/BeagleBoardFAQ#NEON_performance NEON issue] that has not been seen in real code<br />
<br />
Note: Revision C1 is expected end Q1 2009. There are some early revision C0 prototypes out there, but they still seem to have USB host issue.<br />
Note: Revision ''C1'' will be for sale, it has working USB HOST (EHCI). Early non-working prototypes are called ''C0''.<br />
<br />
==Beagle cases==<br />
<br />
Some nice cases for your BeagleBoard are available from [http://specialcomp.com/beagleboard/ Special Computing]. See [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model] if interested in 3D models from Beagle, too.<br />
<br />
=Adapters=<br />
<br />
For quite detailed information about all BeagleBoard peripherals see [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)].<br />
<br />
See [[BeagleBoardPeripherals| BeagleBoard peripherals and adapters page]] for useful add ons for Beagle Board.<br />
<br />
==Expansion boards==<br />
* [http://www.tincantools.com/ TinCanTools] is in the process of developing an Expansion-Prototype Board for the BeagleBoard, comments and suggestions are welcome. [[Media:bb-expansion.pdf|Schematic]].<br />
* [http://www.hy-research.com/beagle_expansion.html HY Research] has some expansion board basics and example.<br />
<br />
==JTAG==<br />
<br />
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.<br />
See [[BeagleBoardJTAG]] for more information.<br />
<br />
==RS232==<br />
<br />
The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy [http://www.pccables.com/07120.htm IDC10 to DB9M adapters] in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a [http://en.wikipedia.org/wiki/Null_modem 9-Pin NullModem] cable to connect BeagleBoard to serial port of your PC. From [http://www.tincantools.com/ TinCanTools] there is a [http://www.tincantools.com/product.php?productid=16144&cat=0&page=1&featured RS-232 DB-9 adapter] and [[media:flyswatter-ti-uart.pdf|adapter schematic]] available.<br />
<br />
==USB==<br />
There are two USB ports on the BeagleBoard, one with an EHCI controller and another with an OTG controller.<br />
<br />
===EHCI===<br />
The HS ([http://en.wikipedia.org/wiki/USB#USB_signalling HighSpeed]) USB [http://en.wikipedia.org/wiki/EHCI 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.<br />
<br />
===OTG===<br />
The HS USB OTG ([http://en.wikipedia.org/wiki/USB_On-The-Go 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.<br />
<br />
When using the OTG port in host mode, you must power the BeagleBoard using the +5V 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.<br />
<br />
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 [http://trisoft.de/pics/ZHost.JPG 5-pin USB Mini-A plug] which shorts these pins together in the plug. A [http://en.wikipedia.org/wiki/USB#USB_cables 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".<br />
<br />
You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack [http://www.electronicproductonline.com/catalog/product_info.php?products_id=2043 here.]<br />
<br />
==DVI==<br />
<br />
DVI-D connection on BeagleBoard uses a [http://en.wikipedia.org/wiki/HDMI HDMI connector]:<br />
<br />
''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.''<br />
<br />
BeagleBoard can be connected to a DVI monitor using HDMI female to DVI male cable.<br />
<br />
=BootRom=<br />
<br />
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 [http://www.ti.com/litv/pdf/sprufd6 SPRUFD6]. <br />
<br />
==User button==<br />
<br />
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):<br />
<br />
* User button ''not'' pressed: NAND -> USB -> UART -> MMC<br />
* User button ''is'' pressed: USB -> UART -> MMC -> NAND<br />
<br />
Technically speaking, the user button configures pin SYS.BOOT[5]. See [http://www-s.ti.com/sc/techlit/sprufd6.pdf SPRUFD6] for more details.<br />
<br />
==Serial and USB boot==<br />
<br />
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 the access the [[u-boot environment variables in linux|u-boot env from linux]].<br />
<br />
===OMAP U-Boot Utils===<br />
<br />
Nishanth' [http://code.google.com/p/omap-u-boot-utils/ OMAP U-Boot Utils] provide<br />
<br />
* ''pserial'' - OMAP specific utility which downloads a file in response to ASIC ID over serial port.<br />
* ''pusb'' - OMAP specific utility which downloads a file in response to ASIC ID over USB connection.<br />
* ''ucmd'' - Send a command to U-Boot and wait till a specific match appears.<br />
* ''ukermit - Download a file from host without using kermit to U-Boot.<br />
<br />
See [http://nishanthmenon.blogspot.com/ Nishanth' blog] and [http://groups.google.com/group/beagleboard/browse_thread/thread/c5bfb1b8ed528b52# announce mail], too.<br />
<br />
===Serial boot===<br />
<br />
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 are two older (experimental) tools for UART boot:<br />
<br />
* [http://omapzoom.org/gf/project/omaptools/wiki PC Serial Boot perl script]<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/80ad3da0eb2aa555 Linux C utility] (not working yet with below target code)<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
===USB boot===<br />
<br />
Besides Nishanth' ''OMAP U-Boot Utils'', for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB:<br />
<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/2b9e99886bb7a747 Linux C utility]<br />
<br />
See [http://groups.google.com/group/beagleboard/browse_thread/thread/ae2c601ebe104a4 USB and serial download target code] for some example target code to be downloaded to OMAP3 on BeagleBoard.<br />
<br />
See [[BeagleBoardRecovery#USB_recovery|USB recovery section]] how to use USB boot for board recovery.<br />
<br />
==NAND boot==<br />
<br />
See [[BeagleBoardNAND|NAND boot]] article.<br />
<br />
==MMC/SD boot==<br />
<br />
Currently, [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] is the only working way for first board bring up.<br />
<br />
===MMC/SD formatting===<br />
<br />
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.<br />
<br />
'''Windows'''<br />
<br />
See ''HP USB Disk Storage Format Tool 2.0.6'' description on [http://code.google.com/p/beagleboard/wiki/BootingBeagleBoard boot the BeagleBoard with MMC/SD] page.<br />
<br />
'''Linux'''<br />
<br />
Please see [http://wiki.omap.com/index.php?title=MMC_Boot_Format OMAP3 MMC Boot Format].<br />
<br />
===Dual partition card===<br />
<br />
You can [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat 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.<br />
<br />
To mount second ext2 partition as root file system (e.g. containing contents of [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode rd-ext2.bin]) use kernel boot arguments (e.g. in uboot using ''setenv bootargs''):<br />
<br />
console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait<br />
<br />
===U-Boot booting===<br />
<br />
If your MMC/SD card formatting is correct and you put [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 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):<br />
<br />
...40T.........XH.H.U�..Instruments X-Loader 1.41<br />
Starting on with MMC<br />
Reading boot sector<br />
<br />
717948 Bytes Read from MMC<br />
Starting OS Bootloader from MMC...<br />
<br />
U-Boot 1.1.4 (Apr 2 2008 - 13:42:13)<br />
<br />
OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz<br />
TI 3430Beagle 2.0 Version + mDDR (Boot ONND)<br />
DRAM: 128 MB<br />
Flash: 0 kB<br />
NAND:256 MiB<br />
In: serial<br />
Out: serial<br />
Err: serial<br />
Audio Tone on Speakers ... complete<br />
OMAP3 beagleboard.org #<br />
<br />
Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually:<br />
<br />
OMAP3 beagleboard.org # mmcinit<br />
OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage<br />
OMAP3 beagleboard.org # bootm<br />
<br />
If you like to make that happen every boot:<br />
<br />
OMAP3 beagleboard.org # set bootcmd 'mmcinit ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
=Code=<br />
<br />
Code and binaries for BeagleBoard are available at various places.<br />
<br />
==Binaries==<br />
<br />
BeagleBoard pre-built binaries and source code can be found at [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode Beagle source code] and [http://code.google.com/p/beagleboard/downloads/list downloads] page. These are the locations where "official" TI code is available. Please note that this code is mainly for reference and testing. More up to date binaries and code is available by community. Community took (parts) of TI reference code, improves and updates it. <br />
<br />
Actually, [http://www.angstrom-distribution.org/node/47 Koen's prebuilt Beagleboard demo images] are up to date binaries including e17 as window manager, the abiword word processor, the gnumeric spreadsheet application, a NEON accelerated mplayer and the popular NEON accelerated omapfbplay which gives you fullscreen 720p decoding. The [http://www.angstrom-distribution.org/demo/beagleboard www.angstrom-distribution.org/demo/beagleboard] directory should contain all the files you need:<br />
<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/u-boot.bin u-boot.bin]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/MLO MLO]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/uImage uImage]<br />
* [http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2008.1-test-20080823-beagleboard.rootfs.tar.bz2 rootfs]<br />
<br />
See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat beagle wiki] on how to setup your SD card to use all this goodness.<br />
<br />
==Source==<br />
<br />
Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported [http://git.or.cz/ git] repositories available. <br />
<br />
===X-Loader===<br />
<br />
Steve did some work to consolidate and update X-Loader from various sources and put it in a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=summary X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-load-omap3/mainline.git xloader<br />
cd xloader/<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3530beagle_config<br />
make<br />
<br />
Result will be a ~20k sized ''x-load.bin'' in main directory.<br />
<br />
===U-Boot===<br />
<br />
Currently, Beagle community is working at getting U-Boot patches upstream to [http://www.denx.de/wiki/U-Boot/WebHome mainline U-Boot]. While doing this, Steve set up a [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository]. Get it by:<br />
<br />
git clone git://www.sakoman.net/git/u-boot-omap3.git<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Build (assuming Code Sourcery GCC 2007q3):<br />
<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config<br />
make CROSS_COMPILE=arm-none-linux-gnueabi- <br />
<br />
Result will be a ~160k sized ''u-boot.bin'' in main directory.<br />
<br />
Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use [http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624 U-Boot v1 BeagleBoard splash screen patch].<br />
<br />
===Linux kernel===<br />
<br />
[http://source.mvista.com/git/gitweb.cgi?p=linux-omap-2.6.git;a=summary Git repository] of [http://muru.com/linux/omap/ OMAP Linux kernel] contains Beagle support. Get it by:<br />
<br />
git clone git://source.mvista.com/git/linux-omap-2.6.git<br />
<br />
Build:<br />
<br />
make distclean<br />
make omap3_beagle_defconfig<br />
make uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
===Experimental kernel patches and hacks===<br />
<br />
Some beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:<br />
<br />
* [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=tree;f=packages/linux/linux-omap2-git/beagleboard;h=277d7b6a2a660c5119e3b885a8808f4f9cffc3e1;hb=ab680455026278a5ac117232df0b6e4afe544132 Koen's collection of kernels patches for OE] and the [http://gitweb.openembedded.net/?p=org.openembedded.dev.git;a=blob;f=packages/linux/linux-omap2_git.bb;h=8392ff7308a760dd98227cbbf499545632d8fcb5;hb=ab680455026278a5ac117232df0b6e4afe544132 list of relevant patches]<br />
* [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/test Steve's kernel tree], a clone of main OMAP git with additional patches, mainly beagle audio (ASOC) related.<br />
* [http://git.mansr.com/?p=linux-omap;a=summary Mans' kernel tree], a clone of main OMAP git with additional patches, mainly display & framebuffer related.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==Cortex A8 ARM==<br />
<br />
[http://www.codesourcery.com/ CodeSourcery's] [http://www.codesourcery.com/gnu_toolchains/arm/download.html '''ARM GNU/Linux''' tool chain] [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 2007q3 version] is recommended.<br />
<br />
Note: A user reports that he found the use of CodeSourcery tool chain version 2007q1-21 and 2008q1-126 as strange. He has been using [http://www.codesourcery.com/gnu_toolchains/arm/portal/release313 '''2007q3-51'''] for a couple of months now.<br />
<br />
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section ''Advanced Packages''), copy extracted ''arm-2007q3'' directory to ''/opt/codesourcery/arm-none-linux-gnueabi/'' and add ''/opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin'' to your path.<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3 2007q3] has an issue with -Os option. There is a [http://groups.google.com/group/beagleboard/msg/d4170b16029920ee fix] (needs recompilation)<br />
<br />
* Note: CodeSourcery [http://groups.google.com/group/beagleboard/msg/63163389873902c3? 2008q1] has the following issues:<br />
** Vectorization + NEON is broken<br />
** building static binaries with cortex-a8 flag (or any ARMv7a core) is broken<br />
** some armv6 compilations end in ICE.<br />
<br />
* Note: CodeSourcery 2008q3 has the following issues:<br />
** [http://hardwarebug.org/2008/10/11/codesourcery-gcc-2008q3-fail/ Broken NEON] support using ''-fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3''<br />
** [http://www.beagleboard.org/irclogs/index.php?date=2008-10-11#T20:32:17 Miscompiles] U-Boot<br />
<br />
* Note: CodeSourcery 2008q3-72 has the following issues:<br />
** See [http://hardwarebug.org/2008/11/28/codesourcery-fails-again/ mru's blog].<br />
<br />
Note: If you will use only [[BeagleBoardAndOpenEmbeddedGit|OpenEmbedded (OE)]] to build code for your Beagle, you don't need to extra download CodeSourcery compiler. OE will build 2007q3 from source while installing.<br />
<br />
===ARM NEON===<br />
<br />
ARM Cortex A8 used in OMAP3 on BeagleBoard supports [http://www.arm.com/products/CPUs/NEON.html NEON] instruction set. Some information about this can be found in [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204h/Bcfjicfj.html ARM's RealView Compilation Tools Assembler Guide] and from [http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html GCC's ARM NEON Intrinsics].<br />
<br />
For NEON optimized libraries see [http://www.us.design-reuse.com/news/18429/aac-mp3-mpeg-4-h-264-fft-openmax-cortex-a8-neon-arm11-processors.html ARM Releases AAC, MP3, MPEG-4, H.264 and FFT OpenMAX DL Libraries, Highly Optimized for Cortex-A8/NEON and ARM11 Processors]. Note: Read the [http://www.arm.com/products/esd/openmax_v7libraries.html EULA].<br />
<br />
==C64x+ DSP==<br />
<br />
A free C64x DSP compiler is available as [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html Linux hosted C6x Code Generation Tools] (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008).<br />
<br />
Note: my.TI account required. You may create an account [https://my.ti.com here]<br />
<br />
Note: Old c6000 Linux compiler available on [ftp://ftp.ti.com/pub/cs/linux_cgt500.tar.gz TI FTP site]. Does NOT support c64x+ core in OMAP3 devices. Not recommended.<br />
<br />
You can also utilize the [http://focus.ti.com/dsp/docs/dspsupportaut.tsp?familyId=44&sectionId=3&tabId=416&toolTypeId=30 full-CCS free evaluation tools for 120 days], but they currently require purchase to upgrade to service release 9 to support full JTAG debugging with supported JTAG hardware.<br />
<br />
See [[BeagleBoard/DSP_Howto| BeagleBoard DSP howto]] for information about how to use the DSP.<br />
<br />
=Board recovery=<br />
<br />
If you played e.g. with the contents of the [http://www.sakoman.net/omap3/flash%20procedure.txt NAND], it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See [[BeagleBoardRecovery|BeagleBoard recovery]] article how to fix this.<br />
<br />
=Development environments=<br />
<br />
Instead of just using compiler + editor, you can use complete image create "development tool chains" which integrate compiler, build system, packaging tools etc. in one tool chain.<br />
<br />
==OpenEmbedded==<br />
<br />
For [http://www.openembedded.org/ OpenEmbedded] (OE), there are some hints how to [http://www.beagleboard.org/irclogs/index.php?date=2008-04-29#T13:06:25 start with OE for BeagleBoard]. See [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] and [http://wiki.openembedded.net/index.php/Getting_Started OpenEmbedded getting started] as well.<br />
<br />
In the OE getting started document, for BeagleBoard replace ''MACHINE = "om-gta01"'' by ''MACHINE = "beagleboard"''. After confirming ''bitbake nano'' works, try ''bitbake console-image''. The first time you run bitbake OE will download all the needed source and build the tool chain. This will take several hours. After all went fine, the output is in ''${OE_ROOT}/tmp/deploy/glibc/images/beagleboard''.<br />
<br />
Note: Koen has some BeagleBoard [http://amethyst.openembedded.net/~koen/index.php?path=beagleboard/ source and binary images] built with OE. There, ''Angstrom-console*'' images don't include an X server, you can still use a e.g. DVI-D screen with console, but you won't have a GUI. ''Angstrom-x11*'' images contain an X server.<!-- DEAD LINK: resulting in something like [http://scap.linuxtogo.org/files/fc987d4acb2c745fb7e19cf4dca8de70.png this].--><br />
<br />
===One very important note:=== <br />
<br />
It's important to have an X-Loader on your Beagleboard that uses the uImage on the SD Card that goes with Angstrom. The B6 Beagleboards do not appear to come with such an X-Loader. So you likely will have to upgrade the X-Loader. Here's what to do:<br />
* Make an SD Card with the [http://www.angstrom-distribution.org/demo/beagleboard Angstrom Demo files]. See the [http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat Beagleboard Wiki Page] for more info on making the SD Card.<br />
* Put the SD Card in the Beagle, and boot up to the U-Boot Prompt.<br />
* Do the first six instructions in the [http://code.google.com/p/beagleboard/wiki/BeagleNANDFlashing Flashing Commands with U-Boot] section. <br />
* Reboot the Beagle to see that the new X-Loader is properly loaded.<br />
<br />
This will update the X-Loader to a newer version that will automatically load uImage from the SD Card when present -- rather than always using the uImage in the Beagleboard NAND.<br />
<br />
==Eclipse==<br />
The Eclipse [http://www.eclipse.org/cdt/ C Development Tools Project] provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse [http://www.eclipse.org/dsdp/tm/ DSDP Target Managment Project] provides a "Remote System Explorer" (RSE) plugin that simplifies downloading files to the BeagleBoard and editing files on the BeagleBoard within the Eclipse IDE. A Linux Target Agent is available as part of the [http://wiki.eclipse.org/DSDP/TM/TCF_FAQ Target Communications Framework (TCF) component]. Info on how RSE is used for e.g. Gumstix development is described in [http://groups.google.com/group/beagleboard/browse_thread/thread/509831f7c24cb79f# this post].<br />
<br />
===Android Distro===<br />
The [http://www.source.android.com Android] platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel.<br />
<br />
[http://http://beagleboard.org/project/android Beagleboard.org's Android Project page] cites this page by Embinux team for Android port on beagle board. They made announcement of [http://groups.google.com/group/beagleboard/browse_thread/thread/7b422f113ce489b5 releasing source code] and [http://labs.embinux.org/android-porting-on-beagle.html instructions for porting]. You can browse through [http://labs.embinux.org/git/ kernel git source] and [http://in.youtube.com/watch?v=nADn_vNVEKw watch Beagle Board booting Android]. It supports input devices(keyboard/mouse), network and sound(*.mp3).<br />
<br />
==Mamona==<br />
<br />
[http://dev.openbossa.org/trac/mamona/wiki Mamona] is an embedded Linux distribution for ARM EABI. The main goal of the Mamona Project is to offer a completely open source alternative/experimental platform for [http://maemo.org/ Maemo] using only free and open source components. Mamona [http://rsalveti.wordpress.com/2008/09/12/mamona-02-is-out 0.2] [http://franciscoalecrim.com/blog/2008/07/29/mamona-working-with-beagleboard/ supports] [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 OMAP3430 Software Development Platform (SDP)], so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle.<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==Handhelds Mojo ARM==<br />
<br />
See [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM)]] (formerly known as Ubuntu (ARM)) installation guide how to install Handhelds Mojo (ARM) port of Ubuntu on BeagleBoard.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
<br />
==QEMU==<br />
<br />
[[Qemu|QEMU]] [http://vm-kernel.org/blog/2008/12/15/linux-is-running-on-qemu-omap3/ supports OMAP3] being able to boot a BeagleBoard Linux kernel.<br />
<br />
==Linux hints==<br />
<br />
See BeagleBoard [http://code.google.com/p/beagleboard/wiki/LinuxHints Google wiki Linux hints] page (for Linux WTBU (Wireless TI Business Unit) kernel [http://code.google.com/p/beagleboard/wiki/BeagleSourceCode 2.6.22]). Currently featuring:<br />
<br />
* Switching video output between DVI-D and S-Video<br />
* Disabling framebuffer blanking<br />
* Listing USB devices<br />
<br />
==lmbench==<br />
<br />
Avik posted a detailed [http://groups.google.com/group/beagleboard/browse_thread/thread/c8b8f07ce61161a1 step-by-step procedure] to run [http://sourceforge.net/project/showfiles.php?group_id=14418 lmbench] on Beagle.<br />
<br />
==Mediaplayer (FFmpeg)==<br />
<br />
There is a thread how to get a [http://groups.google.com/group/beagleboard/browse_thread/thread/9b8025fc15120fd9# mediaplayer] with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches.<br />
<br />
==Java==<br />
<br />
When using the [[BeagleBoard#OpenEmbedded|OpenEmbedded]]-based Angstrom image you have the following options of Java support:<br />
* JamVM + GNU Classpath (small vm, fast interpreter, J2SE-like)<br />
* Cacao + GNU Classpath (JIT compiler, J2SE-like)<br />
* PhoneME Advanced Foundation (JIT compiler, CDC)<br />
<br />
Java support in OpenEmbedded/Angstrom ([http://wiki.openembedded.net/index.php/Java details]) is provided voluntarily through [http://jalimo.org Jalimo].<br />
<br />
See a [http://groups.google.com/group/beagleboard/browse_thread/thread/102f627253919783# post at mailing list], too.<br />
<br />
=Graphics accelerator=<br />
<br />
OMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from [http://www.imgtec.com/ Imagination Technologies]. [http://www.imgtec.com/powervr/powervr-graphics.asp PowerVR] SGX530 is a new generation of programmable PowerVR graphics and video IP cores. Only the kernel portions of Linux drivers will be open source. The PowerVR folks will provide binary user-space libraries. Using the EMail contact at [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12700&contentId=27458 TIs Mobile Gaming Developers page] there are Linux v2.6 OMAP3430 SDKs for OMAP3 Zoom and SDP supporting OpenGL ES v2.0, OpenGL ES v1.1 and OpenVG 1.0 available.<br />
<br />
Some videos:<br />
<br />
* [http://www.youtube.com/watch?v=24TXpqa9jG0&feature=related OpenGL ES 2.0 shader effects on OMAP3]<br />
* [http://www.youtube.com/watch?v=-UFUbqoNgs8&feature=related 3D User Interface on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=8KcNgeUriqA 3D Mapping using OpenGL ES 2.0 on OMAP3 Platform]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
<br />
=Beginners guide=<br />
<br />
You just got your new BeagleBoard, and now? See [[BeagleBoardBeginners|beginners guides]].<br />
<br />
=FAQ=<br />
<br />
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].<br />
<br />
=Links=<br />
==Home page==<br />
[http://beagleboard.org/ beagleboard.org] (beagle board home)<br />
* Using [http://www.google.de/ Google] you can search beagleboard.org (including IRC logs) using ''site:beagleboard.org <search term>''<br />
==Manuals and resources==<br />
* [http://www.beagleboard.org/uploads/BBSRM_6.pdf BeagleBoard HW Reference Manual (rev. B6)]<br />
* [http://www.beagleboard.org/uploads/BBSRM_B5.pdf BeagleBoard HW Reference Manual (rev. B5)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HRM_B4.pdf BeagleBoard HW Reference Manual (rev. B4)]<br />
* [http://www.beagleboard.org/uploads/Beagle_HW_Reference_Manual_A_5.pdf BeagleBoard HW Reference Manual (rev. A5)]<br />
* [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor description and manuals<br />
* [http://code.google.com/p/beagleboard/ Beagle at code.google.com]<br />
* [http://focus.ti.com/dsp/docs/dspsupporttechdocs.tsp?sectionId=3&tabId=409&familyId=1526&documentCategoryId=4&techDoc=4 OMAP3530/25 CBB BSDL Model]<br />
==Contact and communication==<br />
* [http://groups.google.com/group/beagleboard Beagle board discussion list]<br />
* [http://code.google.com/p/beagleboard/issues/list Beagle board open point list & issue tracker]<br />
* [http://beagleboard.blogspot.com/ Beagle board blog]<br />
* [http://feeds.feedburner.com/BeagleBoard Beagle board RSS feed]<br />
* Chat:<br />
** [http://beagleboard.org/chat Beagle Board chat on Pibb.com]<br />
** IRC: #beagle channel on irc.freenode.net<br />
** [http://www.beagleboard.org/irclogs/index.php IRC archive]<br />
* [http://www.beaglesride.org/ Beagles Ride], a site about building a community around the BeagleBoard focused on in vehicle applications<br />
==TI resources==<br />
* [http://opensource.ti.com/ TI open source page]<br />
* [https://community.ti.com/ TI E2E (Engineer-to-Engineer) Community]<br />
* [http://marc.info/?l=linux-omap&m=120761100810527&w=2 DSP Bridge driver for OMAP3 platform]<br />
* [http://lists.arm.linux.org.uk/lurker/message/20080701.142512.5eeff26b.en.html ARMv7 Oprofile support]<br />
* [http://focus.ti.com/pdfs/wtbu/swpu114g.pdf OMAP34xx Wireless Technical Reference Manual] (swpu114g.pdf, 47 MB)<br />
* [http://amethyst.openembedded.net/~koen/index.php?sort=date&order=desc&path=beagleboard/ Koen's (OpenEmbeded) BeagleBoard source and binaries]<br />
* [http://del.icio.us/tag/beagleboard+peripheral+verified Verified peripherals for BeagleBoard]<br />
* [http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt OMAP3430 Linux Power Management presentation]<br />
==Articles==<br />
* [http://linuxdevices.com/news/NS5852740920.html LinuxDevices article about Beagle]<br />
* [http://www.linuxdevices.com/news/NS8479495970.html LinuxDevices article about Digi-Key launch]<br />
==Past Beagle events==<br />
* TIDC, February 26-28, 2008: [http://www.beagleboard.org/uploads/tidc_opensource.pdf Slides from TI developer conference (TIDC) open source session], covering also beagle board<br />
* [http://www.lugradio.org/live/USA2008/ LUG RADIO Live USA 2008, April 12-13, 2008]: [http://www.beagleboard.org/uploads/lugradio_20080411.PPT TI/Beagle Presentation] and [http://forums.lugradio.org/viewtopic.php?f=4&t=4094&st=0&sk=t&sd=a&sid=d69cc807569ab41e33f93af698c536b8&start=15#p41549 video]<br />
* LinuxTag, May 28-31, 2008: [http://www.flickr.com/photos/jadon/2551439955/in/pool-beagleboard picture 1] and [http://www.flickr.com/photos/jadon/2535692865/in/pool-beagleboard picture 2]<br />
* [http://lugradio.org/live/UK2008/travel LugRadio Live UK 2008], July 19 - July 20, 2008: [http://www.flickr.com/photos/koenkooi/tags/lugradiolive/ Koen's pictures] showing e.g. [http://www.bigbuckbunny.org/index.php/download/ Big Buck BUNNY] playing at Beagle. [http://linuxoutlaws.com/podcast/48 Interview with Linux Outlaws (52:06)] and the [http://www.youtube.com/watch?v=m9xVbntl-DY video]<br />
* [http://osscamp.in/index.php/OSScamp_Bengaluru_Mobile_2008 OSScamp Bengaluru Mobile 2008], July 19, 2008<br />
* [http://www.linuxworldexpo.com LinuxWorld Conference & Expo], August 4 - August 7, 2008: [http://www.flickr.com/photos/jadon/sets/72157606586084668/ pictures with living beagle] and from [http://www.flickr.com/photos/linuxjournal/2738316951/in/set-72157606634486338/ Linux Journal's photostream]<br />
* BeagleBoard.org event at Jillian's during LinuxWorldExpo, August 5, 2008, 5:30-7:30 pm<br />
* [http://barcamp.pbwiki.com/BarCampHouston3 BarCamp Houston 3], August 9, 2008, 9:00 A.M.: [http://www.flickr.com/photos/jadon/sets/72157606656532041/ pictures]<br />
* NIT Suratkal, India [http://www.nitkieee.com/site/sp-connect2/schedule IEEE SP Connect 2], August 30, 20008<br />
* [http://barcampbangalore.org/wiki/BCB7_Demos BarCamp Bangalore], India, September 13, 2008<br />
* [http://www.ibc.org/ IBC 2008], September 11 - September 16, 2008: [http://www.flickr.com/photos/koenkooi/tags/ibc2008/ pictures]<br />
* Free Open "Embedded Linux" Training for Students in India, [http://code.google.com/p/beagleboard/wiki/Trainings?updated=Trainings&ts=1220250913 beagleboard.org Trainings in India], September 20, 2008: [http://www.youtube.com/watch?v=A6FLdmgQlb4&feature=PlayList&p=1BAB6EE9CC7285AD&index=0 video], [http://www.flickr.com/photos/25691331@N04/sets/72157607419766102/ photos] and [http://lakshmansrikanth.blogspot.com/2008/09/linux-embedded.html blog]<br />
* [http://www.embedded.co.uk/ Embedded Systems Show 2008], Birmingham, UK, October 1-2, 2008<br />
* [http://www.mvista.com/vision/ MontaVista Vision 2008 Embedded Linux Developers Conference], San Francisco, California, October 1-3, 2008 : [http://www.mvista.com/download/topic.php?t=18 Video and presentation overview], [http://www.mvista.com/download/fetchdoc.php?docid=323 William Mills' presentation], [http://www.mvista.com/download/fetchdoc.php?docid=333 Jason Kridner's presentation]<br />
* [http://www.rtcgroup.com/arm/2008/ ARM Developers' Conference], Santa Clara Convention Center, Santa Clara, Calif., USA, October 7-9, 2008<br />
* [http://www.cmp-egevents.com/web/escb Embedded Systems Conference Boston 2008], Hynes Convention Center, Boston, USA, October 26 - October 30, 2008: [http://beagleboard.org/demo/esc Resources]<br />
==Beagle wiki pages==<br />
* [[BeagleBoardBeginners|BeagleBoard beginners guides]]<br />
* [[BeagleBoardAndOpenEmbeddedGit|BeagleBoard and OpenEmbedded Git]] installation guide and [[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]]<br />
* [[BeagleBoardDebian|Debian on BeagleBoard]] usage guide<br />
* [[BeagleBoardHandheldsMojo|Handhelds Mojo (ARM) on BeagleBoard]] usage guide (formerly known as Ubuntu (ARM))<br />
* [[BeagleBoardRecovery|BeagleBoard recovery]] about fixing boards not booting any more because of broken NAND content<br />
* [[BeagleBoardJTAG|BeagleBoard JTAG]] and [[OMAP3530_ICEPICK|OMAP3530_ICEPICK]] about JTAG on BeagleBoard<br />
* [[BeagleBoardOpenOCD|BeagleBoard OpenOCD]] has infos about status and usage of open source JTAG software OpenOCD with Beagle<br />
* [[BeagleBoardNAND|BeagleBoard NAND boot]] about how to boot BeagleBoard from NAND flash<br />
* [[BeagleBoardPeripherals|BeagleBoard peripherals and adapters page]] about useful BeagleBoard add ons.<br />
* [[BeagleBoardFAQ|BeagleBoard FAQ]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/DSP_Howto|BeagleBoard DSP howto]]<br />
* [[BeagleBoardRawLCD|Interfacing BeagleBoard to Raw LCD]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [http://code.google.com/p/beagleboard/w/list code.google.com BeagleBoard wiki]<br />
* '''[[BeagleBoard/contest|BeagleBoard contest]]'''<br />
* [http://en.wikipedia.org/wiki/Beagle_Board Wikipedia BeagleBoard page]<br />
<br />
==Beagle photos==<br />
* [http://www.flickr.com/groups/beagleboard/pool/ Beagle board pictures at flickr]<br />
* [http://www.flickr.com/photos/32615155@N00/2439256116/ Beagle board and USRP]<br />
* [http://www.flickr.com/photos/nishanthmenon/2438406603/ Modify SDP3430 QUART cable for beagle]<br />
* [http://www.flickr.com/photos/koenkooi/2695061759/ MythTV on Beagle]<br />
==Beagle videos==<br />
* [http://uk.youtube.com/watch?v=fL_XMieanSc Beagle Board Beginnings]<br />
* [http://www.youtube.com/watch?v=cXr-D1wROfQ Beagleboard in the Living Room]<br />
* [http://uk.youtube.com/watch?v=FuVwh_VrIxk Beagle Board 3D, Angstrom, and Ubuntu]<br />
* [http://uk.youtube.com/watch?v=TUYOjRGYeYU testsprite with beagleboard]<br />
* [http://uk.youtube.com/watch?v=9Z4ZTovtFKk Beagleboard LED demo]<br />
* [http://uk.youtube.com/watch?v=R33dzREZGEk LCD2USB attached to a beagleboard]<br />
* [http://www.youtube.com/watch?v=7D3V6BUpGLE Video blending in hardware]<br />
* [http://www.youtube.com/watch?v=-tUBXD-KRp4 Beagle Running Angstrom (VGA) on DLP Pico Projector]<br />
* Not on Beagle OMAP3530: [http://youtube.com/watch?v=5i9cWOK1spw Ubuntu 7.04 on on OMAP3430 SDP]<br />
==Beagle manufacturing==<br />
* [http://www.youtube.com/watch?v=C-CwkjT9z_0&feature=related Beagle Solder Paste Screening]<br />
* [http://www.youtube.com/watch?v=9LLjDovIG2M&feature=related Beagle Assembly Inspection]<br />
* [http://www.youtube.com/watch?v=sbOZfBnoVnM&feature=related Beagle Functional Test]<br />
* [http://www.youtube.com/watch?v=cvDtXmJJcEI&feature=related Beagle Reflow]<br />
* [http://www.youtube.com/watch?v=W2o4NTASxN0&feature=related Beagle Board Assembly at Circuitco]<br />
==Fun==<br />
* Enjoy [http://www.beaglegame.com/ BeagleGame]<br />
<br />
=Other OMAP boards=<br />
<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [http://www.logicpd.com/products/devkit/ti/zoom_mobile_development_kit Zoom MDK]<br />
* OMAP3 OMAP3530 based [http://pandora.bluwiki.com/ Pandora]<br />
* OMAP3 OMAP3503 based [http://www.gumstix.net/Overo/cat/Overo/115.html Gumstix Overo]<br />
* OMAP3 OMAP35x based EVM from [http://www.mistralsolutions.com/business_divisons/omap_3evm.php Mistral] and [http://focus.ti.com/docs/toolsw/folders/print/tmdxevm3503.html TI] (both are the same)<br />
* OMAP3 OMAP3430 based [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=28741 Software Development Platform (SDP)]<br />
* OMAP3 OMAP3530 based board from [http://www.magniel.com/omap3.html Magniel Inc.]<br />
* OMAP3 based [http://www.archos.com/products/imt/index.html?country=us&lang=en Archos 5, ARCHOS 5G and ARCHOS 7]<br />
* OMAP3 OMAP35x based [http://www.logicpd.com/products/som/ti/omap35x OMAP35x SOM-LV]<br />
<br />
[[Category:Development Boards]]</div>Embinux