https://elinux.org/api.php?action=feedcontributions&user=Nandcon&feedformat=atomeLinux.org - User contributions [en]2024-03-29T08:34:58ZUser contributionsMediaWiki 1.31.0https://elinux.org/index.php?title=S3C2416&diff=314270S3C24162014-01-27T06:10:28Z<p>Nandcon: </p>
<hr />
<div>It's a [http://www.arm.com ARM926EJ] RISC '''SOC'''(System-On-Chip) made by [http://www.samsung.com/global/business/semiconductor Samsung seminconductor].<br><br />
This chip is 14mm x 14mm size, FBGA package with ball pitch of 0.65mm. the S3C2416 chip is a 32/16-bit RISC cost-effective, low power, high performance micro-processor solution for general applications including the GPS Navigation and Mobile Phone markets. Additionally, in order to allow for lower system costs, higher performance and low power, the S3C2416 is fabricated using the 65nm low power CMOS process.<br><br />
All in all, the S3C2416 presents a low-cost, highly embedded solution with upgraded features.<br />
<br />
----<br />
<br />
The S3C2416 carries revolutionary upgrades with respect to the S3C2412. Most notably, an upgrade to the ARM926EJ core, the integration of a 2D Graphics Accelerator, an added low power mode, as well as embedded internal ROM/RAM for secure boot, moviNAND booting and low power audio decoding. Furthermore, peripheral and feature upgrades have also been made to increase performance, as well as flexibility. Examples include a USB 1.1 host, in addition to a USB 2.0 high speed device, dual MMC ports, HSSPI ports as well as other upgraded memory interfaces.<br />
<br />
== Block Diagram ==<br />
<br />
[[File:S3c2416-BlockDiagram.jpg]]<br />
<br />
<br />
== Features ==<br />
<br />
*ARM926EJ CPU 400MHz with 16KB I-cache and 16KB D-cache <br />
*Dual port external memory controller: DRAM/ROM control and chip select logic <br />
*64KB internal general purpose SRAM <br />
*32KB internal ROM for moviNAND booting <br />
*LCD controller with DMA-dedicated: 24bpp, 2-PIP <br />
*2D graphics accelerator <br />
*6-ch DMAs with external request pins <br />
*4-ch UART (3Mbps) with IrDA 1.0 (64B FIFO) <br />
*1-ch HS-SPI (50Mbps) <br />
*1-ch IIC: multi-master <br />
*1-ch IIS: PCM and AC97 I/F <br />
*2-ch SD/SDIO/MMC <br />
*1-port USB Host v1.1 full speed <br />
*1-port USB Device v2.0 high speed <br />
*4-ch PWM timers & 1-ch internal timers <br />
*Real time clock & Watch dog timer <br />
*2 PLLs with on-chip clock generator <br />
*Power modes: Normal, Idle, Stop & Deep Stop, Sleep and Power-off <br />
*10-ch 12-bit ADC (Touch screen interface) <br />
*65nm low-power technology and MtCMOS technology incorporated <br />
*Package - 330-pins FBGA (0.65mm Pitch), 14 x 14 x 1.7mm<br />
<br />
<br />
==Development Board/ODM Provider==<br />
# [http://www.tianyeit.com/ tianyeit] [http://www.tianyeit.com/product_281.html System-on-Module based on S3C2416]]([[SOM2416]])<br />
<br />
[[Category:ARM processors]]</div>Nandconhttps://elinux.org/index.php?title=SOM2416&diff=314264SOM24162014-01-27T06:02:15Z<p>Nandcon: </p>
<hr />
<div>[http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Felinux.org%2FSom2416&sl=en&tl=zh-CN&history_state0=&swap=1 <b>【翻译本页成简体中文网页|Translating this page to Simplified Chinese】</b>]<br />
<br />
----<br />
<br />
This page collects information about [http://www.samsung.com/global/business/semiconductor SAMSUNG semiconductor's] [http://www.arm.com/ ARM926EJ] based 400MHz [[S3C2416]] [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C2416 Application Processor] engineering by [http://www.tianyeit.com tianyeit] ''Model Number'' [http://www.tianyeit.com/product_281.html '''SOM2416'''] : [[Computer-on-Module|System On Module,also call ''Embedded_computer'',''Embedded_System_Module'']].<br />
<br />
<br />
=Events=<br />
<I><br />
'''2009.11.01''': KIT2416-II will be released in Nov 10, 2009, it's extendable, we will develop Wifi, Bluetooth,GPS, GPRS/3G, FM module, CAN, 4x4 keypad, CMMB, LCD to VGA, LCD to LVDS,and series of Industial Sensors like Toradex Oak : [http://www.toradex.com/En/Products/Oak_USB_Sensors Oak_USB_Sensors] to plug onto the KIT2416-II and KIT3530, KIT6410<br />
<br>[[File:KIT2416-II-640.JPG]]<br />
<br />
'''2009.10.24''': <b>[http://www.tianyeit.com tianyeit]</b> announcing [http://www.tianyeit.com/product_283.html SOM3530] '''Rev PRELIMINARY''' will be released in Oct 30,2009! [[SOM3530|elinux.org/SOM3530]] is 4x4cm size, 120pin 1.27mm pitch QFP-like package<br />
<br>[[File:SOM3530msk.jpg|200px|SOM3530, Diameter:4x4cm Height:4mm Weight:(nominal) 10g]]<br />
<br />
'''2009.10.24''': <b>[http://www.tianyeit.com tianyeit]</b> announcing [http://www.tianyeit.com/product_283.html SOM6410] '''Rev PRELIMINARY''' will be released in Oct 30,2009! [[SOM6410|elinux.org/SOM6410]] is 4x4cm size, 120pin 1.27mm pitch QFP-like package<br />
<br>[[File:SOM6410msk.jpg|200px|SOM6410, Diameter:4x4cm Height:4mm Weight:(nominal) 10g]]<br />
<br />
'''2009.09.30''': '''SOM2416-I Rev2''' and '''SOM2416-II Rev PRELIMINARY''' ([http://elinux.org/SOM2416#Pinout_definitions 120pin],4x4cm of 1.27mm pin pitch) Released and for Order/Samples<br><br />
'''2009.09.05''': Work together with [http://www.djyos.com/technology/2009-05-24/47.html DJYOS](The first of China Embedded Realtime Operation System) and port the DJYOS to '''SOM2416-I''' <br><br />
'''2009.08.30''': '''SOM2416-I Rev 1.0''' and '''SOM2416-II Rev PRELIMINARY''' annouce to be released on Mid-Sept,2009. '''SOM2416-II''' is 4x4cm size, 120pin 1.27mm pitch QFP-like package <br><br />
'''2009.08.20''': [http://www.tianyeit.com/product_281.html SOM2416-I] '''Rev PRELIMINARY''' released, '''SOM2416-I''' is 4x4cm size, 74pin 2.0mm pitch QFP-like package<br />
</I><br />
<br />
=How to Purchase=<br />
==SOM([[System-on-Module]]) Order Part Number(table items for refer only, Do not reflect the true inventory) ==<br />
True actual modules inventory please refer to: http://www.tianyeit.com/prod-39.html<br />
{|border="0"<br />
!Part Number||Pin#||CPU Freq||DDR2 SDRAM||NAND Flash||Ethernet||Audio||Note<br />
|-<br />
|SOM2416-I-400-64-256M<br>default:'''SOM2416-I'''||74||400MHz||64MB||256MB||LAN9220||WM8731L||For Samples/In stock/no MOQ<ref>Minimum Order Quantity</ref> limited<br />
|-<br />
|SOM2416-I-400-64-256M-9221||74||400MHz||64MB||256MB||LAN9221||WM8731L||For Samples/In stock/no MOQ limited<br />
|-<br />
|SOM2416-I-400-64-256M-NENA||74||400MHz||64MB||256MB||No||No||MOQ:10+pcs<br />
|-<br />
|SOM2416-II-400-64-256M<br>default:'''SOM2416-II'''||120||400MHz||64MB||256MB||LAN9220||WM8731L||For Samples/In stock/no MOQ limited<br />
|-<br />
|SOM2416-II-400-64-256M-9221||120||400MHz||64MB||256MB||LAN9221||WM8731L||For Samples/In stock/no MOQ limited<br />
|-<br />
|SOM2416-II-400-64-256M-NENA||120||400MHz||64MB||256MB||No||No||MOQ:10+pcs<br />
|-<br />
|...<br />
|-<br />
|SOM2416-I-400-32-64M||74||400MHz||32MB||64MB||LAN9220||WM8731L||MOQ:50+pcs<br />
|-<br />
|SOM2416-I-400-64-1G||74||400MHz||64MB||1GB||LAN9220||WM8731L||MOQ:50+pcs<br />
|-<br />
|SOM2416-I-400-64-2G-9221||74||400MHz||64MB||2GB||LAN9221||WM8731L||MOQ:50+pcs<br />
|-<br />
|...<br />
|-<br />
|SOM2416-II-400-32-64M||120||400MHz||32MB||64MB||LAN9220||WM8731L||MOQ:50+pcs<br />
|-<br />
|SOM2416-II-400-64-1G||120||400MHz||64MB||1GB||LAN9220||WM8731L||MOQ:50+pcs<br />
|-<br />
|SOM2416-II-400-64-2G-9221||120||400MHz||64MB||2GB||LAN9221||WM8731L||MOQ:50+pcs<br />
|-<br />
|...<br />
|-<br />
|SOM2416-I-266-64-256M||74||266MHz||64MB||256MB||LAN9220||WM8731L||MOQ:10+pcs<br />
|-<br />
|SOM2416-I-266-32-64M-NA||74||266MHz||32MB||64MB||LAN9220||No||MOQ:50+pcs<br />
|-<br />
|SOM2416-II-266-64-256M-NE||120||266MHz||64MB||256MB||No||WM8731L||MOQ:10+pcs<br />
|-<br />
|SOM2416-II-266-64-2G-9221||120||266MHz||64MB||2GB||LAN9221||WM8731L||MOQ:50+pcs<br />
|-<br />
|}<br />
'''Note:''' <references/><br />
<br><br />
<br />
==Development/Evaluation KIT Order Part Number==<br />
<br />
{|border="1" align="center"<br />
<br />
!Part Number||Note<br />
|-<br />
|'''KIT2416-I'''<br>or<br>'''KIT2416-II'''||''KIT2416-I'' and ''KIT2416-II'' is a '''NECESSARY''' basic evaluation system kit for illustrating the functionality, connectivity of SOM2416-I/SOM2416-II modules on their each '''App Demo Board'''.<br />
; each KIT2416 includes :<br />
:# '''SOM2416-I'''(74pin,4x4cm) or '''SOM2416-II'''(120pin,4x4cm) Embedded Module<br />
:# 4.3" 16:9 '''TFT LCD''', LED backlight digital adjustable, 480 x RGB x 272 pixels, with 4-wire resistance touch screen<br />
:# Theirs corresponding [[SOM2416#App_Demo_Board|App Demo Board]] ''Rev 1.1'', which having USB host and device/Ethernet/3 or 4 UART/IIC/SPI/LCD/touch screen/Stereo Audio out/MIC/Line in/SDMMC/ADC/PWM/GPIO/local bus interfaces<br />
:# '''Cables''' : Ethernet cable, mini USB cable, RS232 Cable<br />
:# '''Power Supply''' AC 110V~220V in DC 5V 1A output<br />
:# '''SDK''': WINCE 5.0 SDK and documents,App Demo Board's SCH, PCB source code; Linux SDK in under developing and planing Nov 2009 release<br />
<br />
[[File:KIT2416-I-4.3-00.JPG]]<br><b>KIT2416-I(74pin)</b> connected U-Disk, Speaker, PC computer(Power Supply and data sync), Ethernet and console(RS232)<br />
<br />
|}<br />
<br><br />
'''3.How to Order? One of the 3 ways:'''<br />
{|<br />
|<br />
# Send Purchase Order mail to ''embed_sales at tianyeit dot com'' and specifying ''Part#/Quantity/Where to Ship/Note'' , we will reply you the Quotation and payment instruction in 2 work days by e-mail<br />
# Add our services MSN: ''cxzeng at msn dot com'' , and chat/talk(in English and Chinese only) with our services to specify what your reqirements online<br />
# or you could refer to the official web page for detailed: [http://www.tianyeit.com/product_281.html SOM2416]<br />
|}<br />
<br />
=Hardware=<br />
<br />
== General Info ==<br />
<br />
{|border="1"<br />
|+'''Two Models of SOM2416'''<br />
|Model||'''SOM2416-I'''<br>74pin 2.0mm pitch,4x4cm outer contour||'''SOM2416-II'''<br>120pin 1.27mm pitch,4x4cm outer contour<br />
|-<br />
|Picture||[[File:SOM2416-watermark.jpg]]||[[File:SOM2416-II-440.JPG]]<br />
|-<br />
|Components||<br />
<br />
{|border="0"<br />
!No.||Name||Comment<br />
|-<br />
|1||DDR2 SDRAM||64MB/32MB optional<br />
|-<br />
|2||LAN9220/LAN9221||High Performance 10/100M Ethernet controller<br />
|-<br />
|3||NAND Flash||2GB/1GB/512MB/256MB/128MB/64MB SLC/MLC optional<br />
|-<br />
|4||WM8731L||IIS Audio codec<br />
|-<br />
|5||S3C2416||400MHz/266MHz optional<br />
|}<br />
|-<br />
|Package||[[File:Som2416-package.gif]]||[[File:som2416-II-package.gif]]<br />
|-<br />
|Layout||[[File:72pin-top.jpg]]||[[File:120pin-top.jpg]]<br />
|}<br />
<br />
==Pinout definitions==<br />
<br />
{|<br />
|-<br />
|<br />
{|border="1"<br />
|+Pinout definition of SOM2416-I(74pin)<br />
!Pin number||Main Function||Note||Alt Function||Note<br />
|-<br />
| 1||style="background:#99FF00" |DP0 ||style="background:#99FF00" |USB Host+||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 2||style="background:#80FF80" |ETX-||style="background:#80FF80" |ETH TX-||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 3||style="background:#80FF80" |ETX+||style="background:#80FF80" |ETH TX+||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 4||style="background:#80FF80" |ERX-||style="background:#80FF80" |ETH RX-||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 5||style="background:#80FF80" |ERX+||style="background:#80FF80" |ETH RX+||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 6||style="background:#FFAA00" |nOE||style="background:#FFAA00" |bus Read signal||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 7||style="background:#FFAA00" |nWE||style="background:#FFAA00" |bus Write signal||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
| 8||style="background:#FFAA00" |nCS3||style="background:#FFAA00" |bus Chip Select#3||style="background:#FFFF80" |GPA14||style="background:#FFFF80" |GPIO PA14<br />
|-<br />
| 9||style="background:#FFAA00" |ADDR0||style="background:#FFAA00" |bus addr||style="background:#FFFF80" |GPA0||style="background:#FFFF80"|GPIO PA0<br />
|-<br />
|10||style="background:#FFAA00" |ADDR1||style="background:#FFAA00" |bus addr||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|11||style="background:#FFAA00" |DATA0||style="background:#FFAA00" |bus data0||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|12||style="background:#FFAA00" |DATA1||style="background:#FFAA00" |bus data1||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|13||style="background:#FFAA00" |DATA2||style="background:#FFAA00" |bus data2||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|14||style="background:#FFAA00" |DATA3||style="background:#FFAA00" |bus data3||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|15||style="background:#FFAA00" |DATA4||style="background:#FFAA00" |bus data4||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|16||style="background:#FFAA00" |DATA5||style="background:#FFAA00" |bus data5||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|17||style="background:#FFAA00" |DATA6||style="background:#FFAA00" |bus data6||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|18||style="background:#FFAA00" |DATA7||style="background:#FFAA00" |bus data7||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|19||style="background:#80FF80" |HSYNC||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC2||style="background:#FFFF80" |GPIO PC2<br />
|-<br />
|20||style="background:#80FF80" |PCLK||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC1||style="background:#FFFF80" |GPIO PC1<br />
|-<br />
|21||style="background:#80FF80" |VSYNC||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC3||style="background:#FFFF80" |GPIO PC3<br />
|-<br />
|22||style="background:#80FF80" |VDEN||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC4||style="background:#FFFF80" |GPIO PC4<br />
|-<br />
|23||style="background:#80FF80" |LCD_B0||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC11||style="background:#FFFF80" |GPIO PC11<br />
|-<br />
|24||style="background:#80FF80" |LCD_B1||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC12||style="background:#FFFF80" |GPIO PC12<br />
|-<br />
|25||style="background:#80FF80" |LCD_B2||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC13||style="background:#FFFF80" |GPIO PC13<br />
|-<br />
|26||style="background:#80FF80" |LCD_B3||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC14||style="background:#FFFF80" |GPIO PC14<br />
|-<br />
|27||style="background:#80FF80" |LCD_B4||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPC15||style="background:#FFFF80" |GPIO PC15<br />
|-<br />
|28||style="background:#80FF80" |LCD_G0||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD2||style="background:#FFFF80" |GPIO PD2<br />
|-<br />
|29||style="background:#80FF80" |LCD_G1||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD3||style="background:#FFFF80" |GPIO PD3<br />
|-<br />
|30||style="background:#80FF80" |LCD_G2||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD4||style="background:#FFFF80" |GPIO PD4<br />
|-<br />
|31||style="background:#80FF80" |LCD_G3||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD5||style="background:#FFFF80" |GPIO PD5<br />
|-<br />
|32||style="background:#80FF80" |LCD_G4||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD6||style="background:#FFFF80" |GPIO PD6<br />
|-<br />
|33||style="background:#80FF80" |LCD_G5||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD7||style="background:#FFFF80" |GPIO PD7<br />
|-<br />
|34||style="background:#80FF80" |LCD_R0||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD11||style="background:#FFFF80" |GPIO PD11<br />
|-<br />
|35||style="background:#80FF80" |LCD_R1||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD12||style="background:#FFFF80" |GPIO PD12<br />
|-<br />
|36||style="background:#80FF80" |LCD_R2||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD13||style="background:#FFFF80" |GPIO PD13<br />
|-<br />
|37||style="background:#80FF80" |LCD_R3||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD14||style="background:#FFFF80" |GPIO PD14<br />
|-<br />
|38||style="background:#80FF80" |LCD_R4||style="background:#80FF80" |lcd||style="background:#FFFF80" |GPD15||style="background:#FFFF80" |GPIO PD15<br />
|-<br />
|39||style="background:#FFFF40" |ALOUT||style="background:#FFFF40" |audio left out ||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|40||style="background:#FFFF40" |AROUT||style="background:#FFFF40" |audio right out||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|41||style="background:#FFFF40" |MIC||style="background:#FFFF40" |audio MIC in||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|42||style="background:#2099FF" |TXD0||style="background:#2099FF" |uart0 tx||style="background:#FFFF80" |GPH0||style="background:#FFFF80" |GPIO PH0<br />
|-<br />
|43||style="background:#2099FF" |RXD0||style="background:#2099FF" |uart0 rx||style="background:#FFFF80" |GPH1||style="background:#FFFF80" |GPIO PH1<br />
|-<br />
|44||style="background:#2099FF" |TXD1||style="background:#2099FF" |uart1 tx||style="background:#FFFF80" |GPH2||style="background:#FFFF80" |GPIO PH2<br />
|-<br />
|45||style="background:#2099FF" |RXD1||style="background:#2099FF" |uart1 rx||style="background:#FFFF80" |GPH3||style="background:#FFFF80" |GPIO PH3<br />
|-<br />
|46||style="background:#2099FF" |TXD2||style="background:#2099FF" |uart2 tx||style="background:#FFFF80" |GPH4||style="background:#FFFF80" |GPIO PH4<br />
|-<br />
|47||style="background:#2099FF" |RXD2||style="background:#2099FF" |uart2 rx||style="background:#FFFF80" |GPH5||style="background:#FFFF80" |GPIO PH5<br />
|-<br />
|48||style="background:#99FF00" |I2CSCL||style="background:#99FF00" |IIC||style="background:#FFFF80" |GPE14||style="background:#FFFF80" |GPIO PE14<br />
|-<br />
|49||style="background:#99FF00" |I2CSDA||style="background:#99FF00" |IIC||style="background:#FFFF80" |GPE15||style="background:#FFFF80" |GPIO PE15<br />
|-<br />
|50||style="background:#FF80FF" |SPIMISO||style="background:#FF80FF" |SPI||style="background:#FFFF80" |GPE11||style="background:#FFFF80" |GPIO PE11<br />
|-<br />
|51||style="background:#FF80FF" |SPICLK||style="background:#FF80FF" |SPI||style="background:#FFFF80" |GPE13||style="background:#FFFF80" |GPIO PE13<br />
|-<br />
|52||style="background:#FF80FF" |SPIMOSI||style="background:#FF80FF" |SPI||style="background:#FFFF80" |GPE12||style="background:#FFFF80" |GPIO PE12<br />
|-<br />
|53||style="background:#FF80FF" |SPI_nSS||style="background:#FF80FF" |SPI||style="background:#FFFF80" |GPL13||style="background:#FFFF80" |GPIO PL13<br />
|-<br />
|54||style="background:#FFFF40" |VCCRTC||style="background:#FFFF40" |RTC Vcc||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|55||style="background:#99FF00" |SDCLK||style="background:#99FF00" |MMC/SD1||style="background:#FFFF80" |GPL9||style="background:#FFFF80" |GPIO PL9<br />
|-<br />
|56||style="background:#99FF00" |SDCMD||style="background:#99FF00" |MMC/SD1||style="background:#FFFF80" |GPL8||style="background:#FFFF80" |GPIO PL8<br />
|-<br />
|57||style="background:#99FF00" |SDDAT0||style="background:#99FF00" |MMC/SD1||style="background:#FFFF80" |GPL0||style="background:#FFFF80" |GPIO PL0<br />
|-<br />
|58||style="background:#99FF00" |SDDAT1||style="background:#99FF00" |MMC/SD1||style="background:#FFFF80" |GPL1||style="background:#FFFF80" |GPIO PL1<br />
|-<br />
|59||style="background:#99FF00" |SDDAT2||style="background:#99FF00" |MMC/SD1||style="background:#FFFF80" |GPL2||style="background:#FFFF80" |GPIO PL2<br />
|-<br />
|60||style="background:#99FF00" |SDDTA3||style="background:#99FF00" |MMC/SD1||style="background:#FFFF80" |GPL3||style="background:#FFFF80" |GPIO PL3<br />
|-<br />
|61||style="background:#2099FF" |XP||style="background:#2099FF" |Touch||style="background:#FFFF80" |AIN9||style="background:#FFFF80" |ADC in9<br />
|-<br />
|62||style="background:#2099FF" |YP||style="background:#2099FF" |Touch||style="background:#FFFF80" |AIN7||style="background:#FFFF80" |ADC in7<br />
|-<br />
|63||style="background:#2099FF" |XM||style="background:#2099FF" |Touch||style="background:#FFFF80" |AIN8||style="background:#FFFF80" |ADC in8<br />
|-<br />
|64||style="background:#2099FF" |YM||style="background:#2099FF" |Touch||style="background:#FFFF80" |AIN6||style="background:#FFFF80" |ADC in6<br />
|-<br />
|65||style="background:#FFFF40" |LCD_PWR||style="background:#FFFF40" |LCD brightness||style="background:#FFFF80" |GPF2||style="background:#FFFF80" |GPIO PF2<br />
|-<br />
|66||style="background:#FFFF40" |BUS_INT||style="background:#FFFF40" |bus int.||style="background:#FFFF80" |GPF1||style="background:#FFFF80" |GPIO PF1<br />
|-<br />
|67||style="background:#FFFF40" |nSD_CD||style="background:#FFFF40" |SD detect||style="background:#FFFF80" |GPF5||style="background:#FFFF80" |GPIO PF5<br />
|-<br />
|68||style="background:#FFFF40" |SPI_INT||style="background:#FFFF40" |SPI int.||style="background:#FFFF80" |GPF0||style="background:#FFFF80" |GPIO PF0<br />
|-<br />
|69||style="background:#FFFF40" |GPIO_INT||style="background:#FFFF40" |GPIO int.||style="background:#FFFF80" |GPF6||style="background:#FFFF80" |GPIO PF6<br />
|-<br />
|70||style="background:#99FF00" |DN1||style="background:#99FF00" |USB device-||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|71||style="background:#99FF00" |DP1||style="background:#99FF00" |USB device+||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|72||style="background:#99FF00" |DN0||style="background:#99FF00" |USB Host-||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|73||style="background:red" |VCC3V3||style="background:red" |DC 3.3V in||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|-<br />
|74||style="background:red" |GND||style="background:red" |GND||style="background:#FFFF80" |-||style="background:#FFFF80" |-<br />
|}<br />
<br />
||<br />
<br />
{|border="1"<br />
|+Pinout definition of SOM2416-II(120pin)<br />
!Pin number||Main Function||Note||Alt Function||Note<br />
|-style="background:#80FF80"<br />
| 1||ETX-||ETH TX-||-||-<br />
|-style="background:#80FF80"<br />
| 2||ETX+||ETH TX+||-||-<br />
|-style="background:#80FF80"<br />
| 3||GND||ETH GND||-||-<br />
|-style="background:#80FF80"<br />
| 4||ERX-||ETH RX-||-||-<br />
|-style="background:#80FF80"<br />
| 5||ERX+||ETH RX+||-||-<br />
|-style="background:#80FF80"<br />
| 6||ETH_SPD||ETH SPEED||-||-<br />
|-style="background:#80FF80"<br />
| 7||ETH_LINK||ETH LINK||-||-<br />
|-style="background:red"<br />
| 8||GND||GND||-||-<br />
|-style="background:#FFAA00"<br />
| 9||nRST||System Reset||-||-<br />
|-style="background:#FFFF40"<br />
|10||BUS_CLK||bus clock||-||-<br />
|-style="background:#FFFF40"<br />
|11||nWAIT||bus nWAIT||-||-<br />
|-style="background:#FFFF40"<br />
|12||nOE||bus nOE||-||-<br />
|-style="background:#FFFF40"<br />
|13||nWE||bus nWE||-||-<br />
|-style="background:#FFFF40"<br />
|14||nCS3||bus nCS3||-||-<br />
|-style="background:#FFFF40"<br />
|15||LADDR[0]||bus LADDR[0]||-||-<br />
|-style="background:#FFFF40"<br />
|16||LADDR[1]||bus LADDR[1]||-||-<br />
|-style="background:#FFFF40"<br />
|17||LADDR[2]||bus LADDR[2]||-||-<br />
|-style="background:#FFFF40"<br />
|18||LADDR[3]||bus LADDR[3]||-||-<br />
|-style="background:#FFFF40"<br />
|19||LADDR[4]||bus LADDR[4]||-||-<br />
|-style="background:#FFFF40"<br />
|20||LADDR[5]||bus LADDR[5]||-||-<br />
|-style="background:#FFFF40"<br />
|21||LADDR[6]||bus LADDR[6]||-||-<br />
|-style="background:#FFFF40"<br />
|22||LDATA[0]||bus LDATA[0]||-||-<br />
|-style="background:#FFFF40"<br />
|23||LDATA[1]||bus LDATA[1]||-||-<br />
|-style="background:#FFFF40"<br />
|24||LDATA[2]||bus LDATA[2]||-||-<br />
|-style="background:#FFFF40"<br />
|25||LDATA[3]||bus LDATA[3]||-||-<br />
|-style="background:#FFFF40"<br />
|26||LDATA[4]||bus LDATA[4]||-||-<br />
|-style="background:#FFFF40"<br />
|27||LDATA[5]||bus LDATA[5]||-||-<br />
|-style="background:#FFFF40"<br />
|28||LDATA[6]||bus LDATA[6]||-||-<br />
|-style="background:#FFFF40"<br />
|29||LDATA[7]||bus LDATA[7]||-||-<br />
|-style="background:red"<br />
|30||Vcc||Vcc input 3.3V||-||-<br />
|-style="background:red"<br />
|31||Vcc||Vcc input 3.3V||-||-<br />
|-style="background:#99FF00"<br />
|32||LCD_PWR||lcd Power||-||-<br />
|-style="background:#99FF00"<br />
|33||HSYNC||lcd HSYNC||-||-<br />
|-style="background:#99FF00"<br />
|34||PCLK||lcd PCLK||-||-<br />
|-style="background:#99FF00"<br />
|35||VSYNC||lcd VSYNC||-||-<br />
|-style="background:#99FF00"<br />
|36||VDEN||lcd VDEN||-||-<br />
|-style="background:red"<br />
|37||GND||GND||-||-<br />
|-style="background:#99FF00"<br />
|38||VD[2]||lcd VD[2]||-||-<br />
|-style="background:#99FF00"<br />
|39||VD[3]||lcd VD[3]||-||-<br />
|-style="background:#99FF00"<br />
|40||VD[4]||lcd VD[4]||-||-<br />
|-style="background:#99FF00"<br />
|41||VD[5]||lcd VD[5]||-||-<br />
|-style="background:#99FF00"<br />
|42||VD[6]||lcd VD[6]||-||-<br />
|-style="background:#99FF00"<br />
|43||VD[7]||lcd VD[7]||-||-<br />
|-style="background:#99FF00"<br />
|44||VD[10]||lcd VD[10]||-||-<br />
|-style="background:#99FF00"<br />
|45||VD[11]||lcd VD[11]||-||-<br />
|-style="background:#99FF00"<br />
|46||VD[12]||lcd VD[12]||-||-<br />
|-style="background:#99FF00"<br />
|47||VD[13]||lcd VD[13]||-||-<br />
|-style="background:#99FF00"<br />
|48||VD[14]||lcd VD[14]||-||-<br />
|-style="background:#99FF00"<br />
|49||VD[15]||lcd VD[15]||-||-<br />
|-style="background:#99FF00"<br />
|50||VD[18]||lcd VD[18]||-||-<br />
|-style="background:#99FF00"<br />
|51||VD[19]||lcd VD[19]||-||-<br />
|-style="background:#99FF00"<br />
|52||VD[20]||lcd VD[20]||-||-<br />
|-style="background:#99FF00"<br />
|53||VD[21]||lcd VD[21]||-||-<br />
|-style="background:#99FF00"<br />
|54||VD[22]||lcd VD[22]||-||-<br />
|-style="background:#99FF00"<br />
|55||VD[23]||lcd VD[23]||-||-<br />
|-style="background:#2099FF"<br />
|56||LPOUT||audio LPOUT||-||-<br />
|-style="background:#2099FF"<br />
|57||RPOUT||audio RPOUT||-||-<br />
|-style="background:#2099FF"<br />
|58||MIC||audio MIC||-||-<br />
|-style="background:#2099FF"<br />
|59||LIN||audio LIN||-||-<br />
|-style="background:#2099FF"<br />
|60||RIN||audio RIN||-||-<br />
|-style="background:red"<br />
|61||AGND||audio GND||-||-<br />
|-style="background:#80FF80"<br />
|62||TXD0||uart TXD0||-||-<br />
|-style="background:#80FF80"<br />
|63||RXD0||uart RXD0||-||-<br />
|-style="background:#80FF80"<br />
|64||nRTS0||uart nRTS0||-||-<br />
|-style="background:#80FF80"<br />
|65||nCTS0||uart nCTS0||-||-<br />
|-style="background:#80FF80"<br />
|66||TXD1||uart TXD1||-||-<br />
|-style="background:#80FF80"<br />
|67||RXD1||uart RXD1||-||-<br />
|-style="background:#80FF80"<br />
|68||nRTS1||uart nRTS1||-||-<br />
|-style="background:#80FF80"<br />
|69||nCTS1||uart nCTS1||-||-<br />
|-style="background:#80FF80"<br />
|70||TXD2||uart TXD2||-||-<br />
|-style="background:#80FF80"<br />
|71||RXD2||uart RXD2||-||-<br />
|-style="background:#80FF80"<br />
|72||TXD3||uart TXD3||-||-<br />
|-style="background:#80FF80"<br />
|73||RXD3||uart RXD3||-||-<br />
|-style="background:#FFAA00"<br />
|74||I2C_SCL||iic||-||-<br />
|-style="background:#FFAA00"<br />
|75||I2C_SDA||iic||-||-<br />
|-style="background:#FFFF40"<br />
|76||SPIMISO||spi||-||-<br />
|-style="background:#FFFF40"<br />
|77||SPICLK||spi||-||-<br />
|-style="background:#FFFF40"<br />
|78||SPIMOSI||spi||-||-<br />
|-style="background:#FFFF40"<br />
|79||nSS||spi||-||-<br />
|-style="background:#99FF00"<br />
|80||SD0CLK||sd0||-||-<br />
|-style="background:#99FF00"<br />
|81||SD0CMD||sd0||-||-<br />
|-style="background:#99FF00"<br />
|82||SD0DAT0||sd0||-||-<br />
|-style="background:#99FF00"<br />
|83||SD0DAT1||sd0||-||-<br />
|-style="background:#99FF00"<br />
|84||SD0DAT2||sd0||-||-<br />
|-style="background:#99FF00"<br />
|85||SD0DAT3||sd0||-||-<br />
|-style="background:red"<br />
|86||GND||GND||-||-<br />
|-style="background:red"<br />
|87||VCCRTC||VCCrtc||-||-<br />
|-style="background:#2099FF"<br />
|88||OM3||mode select||-||-<br />
|-style="background:#2099FF"<br />
|89||OM2||mode select||-||-<br />
|-style="background:#2099FF"<br />
|90||OM1||mode select||-||-<br />
|-style="background:#80FF80"<br />
|91||nSD1_CS||sd1 card detect||-||-<br />
|-style="background:#80FF80"<br />
|92||SD1CLK||sd1||-||-<br />
|-style="background:#80FF80"<br />
|93||SD1CMD||sd1||-||-<br />
|-style="background:#80FF80"<br />
|94||SD1DAT0||sd1||-||-<br />
|-style="background:#80FF80"<br />
|95||SD1DAT1||sd1||-||-<br />
|-style="background:#80FF80"<br />
|96||SD1DAT2||sd1||-||-<br />
|-style="background:#80FF80"<br />
|97||SD1DAT3||sd1||-||-<br />
|-style="background:red"<br />
|98||GND||GND||-||-<br />
|-style="background:#FFAA00"<br />
|99||XP||touch||-||-<br />
|-style="background:#FFAA00"<br />
|100||YP||touch||-||-<br />
|-style="background:#FFAA00"<br />
|101||XM||touch||-||-<br />
|-style="background:#FFAA00"<br />
|102||YM||touch||-||-<br />
|-style="background:#FFFF40"<br />
|103||AIN0||ADC||-||-<br />
|-style="background:#FFFF40"<br />
|104||AIN1||ADC||-||-<br />
|-style="background:#99FF00"<br />
|105||EINT0||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|106||EINT3||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|107||EINT5||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|108||EINT6||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|109||EINT7||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|110||EINT8||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|111||EINT9||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|112||EINT10||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|113||EINT11||Ext Int||-||-<br />
|-style="background:#99FF00"<br />
|114||EINT12||Ext Int||-||-<br />
|-style="background:red"<br />
|115||GND||GND||-||-<br />
|-style="background:#2099FF"<br />
|116||DN1||usb device||-||-<br />
|-style="background:#2099FF"<br />
|117||DP1||usb device||-||-<br />
|-style="background:#99FF00"<br />
|118||EINT2||Ext Int||-||-<br />
|-style="background:#80FF80"<br />
|119||DN0||usb host||-||-<br />
|-style="background:#80FF80"<br />
|120||DP0||usb host||-||-<br />
|-<br />
|}<br />
<br />
|-<br />
|}<br />
<br />
==Manual==<br />
* SOM2416-I Hardware Reference Manual released in Aug 22,2009: [http://www.tianyeit.com/SOM/SOM2416_hw_ref_manual_v1.1.pdf SOM2416_hw_ref_manual_v1.1.pdf download here]<br />
* [http://www.tianyeit.com/down/s3c2416x_rev10.rar S3C2416 datasheet Rev1.1 download here]<br />
<br />
==Layout==<br />
<br />
==Errata==<br />
==Clocking==<br />
==Power management==<br />
==Interfacing to Raw LCD Panels==<br />
<br />
=Availability=<br />
<br />
==SOM2416-I([http://www.tianyeit.com/syssite/home/shop/1/pictures/productsimg/big/281.JPG 74pin]) Revision==<br />
===Rev PRELIMINARY===<br />
===Rev 1.0===<br />
==SOM2416-II(120pin) Revision==<br />
===Rev PRELIMINARY===<br />
<br />
==SOM2416-based products==<br />
{|<br />
|'''SOM2416-I''' based 7" DPF ODM design by ourself,<br />
DC 12V in/mini USB connected to PC/4-line AV out<br />
/USB host connected U Disk/Power switch<br />
/SDMMC socket /7" AT070TN84 LCD Panel<br />
/7 push buttons/2 speaker /IrDA remote control<br />
Rev 1.0 in Sept 24,2009<br />
||[[File:SOM2416-I-DPF7-2.JPG|frame|SOM2416-I based 7" DPF,front view,Rev 1.0 in Sept 24,2009]]||[[File:SOM2416-I-DPF7.JPG|frame|SOM2416-I based 7" DPF,back view,Rev 1.0 in Sept 24,2009]]<br />
|-<br />
|Customized '''SOM2416-II''' based 5.6" Industrial Touch Screen HMI,run uCOS/II with miniGUI windows management system,rev 1.0 in Sept 1,2009<br />
||[[File:SOM2416-II-HMI1.JPG|frame|SOM2416-II based Industrial Touch Screen HMI,front and back view]]||[[File:SOM2416-II-HMI.JPG|frame|SOM2416-II based Industrial Touch Screen HMI,run uCOS/II with miniGUI]]<br />
|}<br />
<br />
==SOM2416 ODM cases==<br />
{|border="0" align="center"<br />
|+'''SOM2416 baseded ODM/OEM Cases'''<br />
|'''Industrial HMI Machine''', SOM2416-I directly <br>soldered on top of 2-layer '''App board'''(below)||A Special '''Handheld Measurement Instrument''', <br>Customized 6-layer Main Board based on S3C2416<br />
|-<br />
|[[File:Solution2.jpg|448px|Industrial HMI Machine, SOM2416-I directly <br>soldered on top of 2-layer App board(below)]]||[[File:Solution1.jpg|746px|A Special Handheld Measurement Instrument, <br>Customized 6-layer Main Board based on S3C2416]]<br />
|}<br />
<br />
=App Demo Board=<br />
{|<br />
|[[File:AppBoard800.jpg|frame|<b>AppDemoBoard Rev 1.1(KIT2416-I)</b> carries SOM2416-I]]<br />
|-<br />
|[[File:SOM2416+43TFTLCD.jpg|frame|<b>KIT2416-I</b> := <i>SOM2416-I</i> + <i>AppDemoBoard Rev 1.1</i> + <i>4.3" LCD w/ touch</i> + <i>T-Flash card</i><br><b>Back view</b> of KIT2416-I, running WINCE 5.0 of Microsoft Media Player]]<br />
|}<br />
<br />
=Adapters=<br />
==Expansion boards==<br />
<br />
[[Category:System-On-Module]]<br />
[[Category:ARM Development Boards]]<br />
[[Category:Development Boards]]</div>Nandconhttps://elinux.org/index.php?title=Cip30x&diff=296168Cip30x2013-11-04T04:53:53Z<p>Nandcon: cip30x</p>
<hr />
<div>ddddddd</div>Nandconhttps://elinux.org/index.php?title=Cip40x&diff=296162Cip40x2013-11-04T04:53:07Z<p>Nandcon: cip30x</p>
<hr />
<div>dddddddddddddddddddd</div>Nandconhttps://elinux.org/index.php?title=Computer-on-Module&diff=233834Computer-on-Module2013-03-24T09:41:56Z<p>Nandcon: </p>
<hr />
<div>A computer-on-module (COM) is a type of [http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Single-Board-Computer-SBC-Quick-Reference-Guide/ single-board computer](SBC), a subtype of an embedded computer system. It is also called [http://www.emacinc.com/som/som_select_guide.htm System on Module]System-on-Module as an extension of the concept of System on Chip (SoC) and lying between a full-up computer and a microcontroller in nature.<br />
<br />
Today's COM/SOM modules are complete computers built on a single circuit board. The design is centered on a single microprocessor with RAM, input/output controllers and all other features needed to be a functional computer on the one board. However, unlike a single-board computer, the COM module will usually lack the standard connectors for any input/output peripherals to be attached directly to the board. Instead, the wiring for these peripherals are bussed out to connectors on the board.<br />
<br />
The module will usually need to be mounted on a carrier board (or "baseboard") which breaks the bus out to standard peripheral connectors. Some COMs also include peripheral connectors and/or can be used without a carrier.<br />
<br />
A COM/SOM solution offers a dense package computer system for use in small or specialized applications requiring low power consumption or small physical size as is needed in embedded systems.<br />
<br />
Some devices also incorporate Field Programmable Gate Arrays.<br />
<br />
The terms "Computer-on-Module" and "COM" were coined by Venture Development Corporation (Natick, MA, USA) to describe this class of embedded computer boards. The term became more notable upon industry standardization of the COM Express format.<br />
<br />
A number of manufacturers offer products which are defined as system-on-module or computer-on-module. Among those are Advanced Knowledge Associates (www.a-k-a.net) in Santa Clara, CA; BCM Advanced Research (www.bcmcom.com) in Irvine, CA; Embedded Systems (www.embedded-systems.net); MEN Micro (www.menmicro.com) in Ambler, PA; DAVE Embedded Systems (www.dave.eu) in Italy; [http://www.phytec.com PHYTEC America] in Seattle, WA; [http://www.variscite.com Variscite] in Israel; [http://www.toradex.com Toradex] in Switzerland.<br />
<br />
== Computer-on-Module Provider ==<br />
* [[CIP]] - by [http://www.tianyeit.com tinayeit], That provide series of 40x40x3.5mm Size, Weight about 10g, the smallest and lightest [[Computer-In-Package]] in the World!<br />
* [[CIP30x]] - by Tinaye[http://www.tianyeit.com], TI 720MHz AM335x based cost effective Applicattiion Processor,LQA188, 40x40x3.5mm<br />
* [[CIP31x]] - by Tinaye[http://www.tianyeit.com],TI 600/800/1G DM3730/OMAP3530/AM3715 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP41x]] - by Tinaye[http://www.tianyeit.com],TI 1G/1.2G/1.5G OMAP4430/4460/4470 based Dual Core Contetex-A9 Powerful Computer In Package,LQA242, 40x40x3.5mm<br />
* [[SOM]] - by [http://www.techor.com/ TECHOR.COM of China], series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[System-on-Module]] in the World!<br />
* [[SOM2416]] - by [http://www.techor.com/prod-39.html TECHOR.COM of China], Samsung 400MHz ARM926EJ-S based cost effective Application Processor,120pin out, 40x40x3.5mm<br />
* [[SOM6410]] - by [http://www.techor.com/prod-49.html TECHOR.COM of China],Samsung 667Hz ARM1176JFZ-S based cost effective Application Processor,120pin out,40x40x3.5mm<br />
* [[SOM3530]] - by [http://www.techor.com/prod-48.html TECHOR.COM of China], TI 600MHz CORETEX-A8 + 430MHz TMS320C64x+ dual core SOC/AP,120pin out, 40x40x3.5mm<br />
* [http://www.elinux.org/SBC8100 Mini8100] - by [http://www.timll.com/chinese/OMAP/mini8100.asp Timll of China], TI 600MHz CORETEX-A8 + 430MHz TMS320DM64x+ dual core,67 mm * 37 mm<br />
* [http://www.armkits.com/Product/mini8100.asp Mini8100] by [http://www.armkits.com Embest], TI OMAP3530 ARM Cortex-A8, 67mm*37mm<br />
* [http://www.armkits.com/Product/mini6045.asp Mini6045] by [http://www.armkits.com Embest], Atmel SAM9G45, 82mm*67mm<br />
* [http://www.armkits.com/Product/mini6245.asp Mini6245] by [http://www.armkits.com Embest], Atmel SAM9G45 ARM926EJ-S, 70mm*49.9mm<br />
* [http://www.armkits.com/Product/mini6300.asp Mini6300] by [http://www.armkits.com Embest], Atmel SAM9263 ARM926EJ-S, 52mm*52mm<br />
* [http://www.armkits.com/Product/mini9261-I.asp Mini9261-I] by [http://www.armkits.com Embest], Atmel SAM9261S ARM926EJ-S, 67.6mm*47mm<br />
* [http://www.armkits.com/Product/mini3250.asp Mini3250] by [http://www.armkits.com Embest], NXP LPC3250 ARM926EJ-S, 75mm*55mm<br />
* [http://www.variscite.com/products/item/96-var-som-om54-omap5-omap5432 VAR-SOM-OM54] by [http://www.variscite.com Variscite], TI OMAP 5 (OMAP5432)<br />
* [http://www.variscite.com/products/item/76-var-som-om44-ti-omap4460 VAR-SOM-OM44] by [http://www.variscite.com Variscite], TI OMAP 4 (OMAP4460)<br />
* [http://www.variscite.com/products/item/92-var-som-mx6-imx6 VAR-SOM-MX6] by [http://www.variscite.com Variscite], Freescale iMX6 Quad,Dual,Single core<br />
* [http://www.variscite.com/products/item/85-var-som-am33-am335x-am3354-am3352 VAR-SOM-AM33] by [http://www.variscite.com Variscite], TI Sitara AM335x (AM3354, AM3352)<br />
* '''CSB7xx''' - by [http://www.cogcomp.com Cogent Computer Systems, Inc. of USA]<br />
* '''CM-XXX''' - by [http://www.compulab.co.il CompuLab of Italia]<br />
* [http://www.toradex.com/products/colibri-arm-computer-modules/colibri-pxa270 Colibri PXA270] by [http://www.toradex.com Toradex of Switzerland], Marvell PXA270, 67.6 x 36.7mm <br />
* [http://www.toradex.com/products/colibri-arm-computer-modules Colibri PXA3xx] by [http://www.toradex.com Toradex of Switzerland], Marvell PXA320, PXA310, PXA300, 67.6 x 36.7mm <br />
* [http://www.toradex.com/products/colibri-arm-computer-modules Colibri Tegra] by [http://www.toradex.com Toradex of Switzerland], [[Tegra2|Nvidia Tegra 2]], Tegra 3, 67.6 x 36.7mm <br />
* [http://www.toradex.com/products/apalis-arm-computer-modules/apalis-t30 Apalis T30] by [http://www.toradex.com Toradex of Switzerland], Nvidia Tegra 3, 82.0 x 45.0mm <br />
* '''e-con Systems eSOM Modules''' - by [http://www.e-consystems.com/ e-con Systems, Inc. of USA]<br />
* '''[http://magniel.com/omapmod.htm OMAPMOD]''' by [http://magniel.com Magniel Inc.], TI OMAP3503 / OMAP3530 CORTEX A8, 67mm x 44mm, stand-alone system in a 144-pin SO-DIMM format.<br />
<br />
[[Category:System-On-Module]]<br />
[[Category:ARM Development Boards]]<br />
[[Category:Development Boards]]</div>Nandconhttps://elinux.org/index.php?title=Computer-on-Module&diff=233828Computer-on-Module2013-03-24T09:41:17Z<p>Nandcon: </p>
<hr />
<div>A computer-on-module (COM) is a type of [http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Single-Board-Computer-SBC-Quick-Reference-Guide/ single-board computer](SBC), a subtype of an embedded computer system. It is also called [http://www.emacinc.com/som/som_select_guide.htm System on Module]System-on-Module as an extension of the concept of System on Chip (SoC) and lying between a full-up computer and a microcontroller in nature.<br />
<br />
Today's COM/SOM modules are complete computers built on a single circuit board. The design is centered on a single microprocessor with RAM, input/output controllers and all other features needed to be a functional computer on the one board. However, unlike a single-board computer, the COM module will usually lack the standard connectors for any input/output peripherals to be attached directly to the board. Instead, the wiring for these peripherals are bussed out to connectors on the board.<br />
<br />
The module will usually need to be mounted on a carrier board (or "baseboard") which breaks the bus out to standard peripheral connectors. Some COMs also include peripheral connectors and/or can be used without a carrier.<br />
<br />
A COM/SOM solution offers a dense package computer system for use in small or specialized applications requiring low power consumption or small physical size as is needed in embedded systems.<br />
<br />
Some devices also incorporate Field Programmable Gate Arrays.<br />
<br />
The terms "Computer-on-Module" and "COM" were coined by Venture Development Corporation (Natick, MA, USA) to describe this class of embedded computer boards. The term became more notable upon industry standardization of the COM Express format.<br />
<br />
A number of manufacturers offer products which are defined as system-on-module or computer-on-module. Among those are Advanced Knowledge Associates (www.a-k-a.net) in Santa Clara, CA; BCM Advanced Research (www.bcmcom.com) in Irvine, CA; Embedded Systems (www.embedded-systems.net); MEN Micro (www.menmicro.com) in Ambler, PA; DAVE Embedded Systems (www.dave.eu) in Italy; [http://www.phytec.com PHYTEC America] in Seattle, WA; [http://www.variscite.com Variscite] in Israel; [http://www.toradex.com Toradex] in Switzerland.<br />
<br />
== Computer-on-Module Provider ==<br />
* [[CIP]] - by [http://www.tianyeit.com tinayeit], That provide series of 40x40x3.5mm Size, Weight about 10g, the smallest and lightest [[Computer-In-Package]] in the World!<br />
* [[CIP30x]] - by [http://www.tianyeit.com], TI 720MHz AM335x based cost effective Application Processor,LQA188, 40x40x3.5mm<br />
* [[CIP31x]] - by [http://www.tianyeit.com],TI 600/800/1G DM3730/OMAP3530/AM3715 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP41x]] - by [http://www.tianyeit.com],TI 1G/1.2G/1.5G OMAP4430/4460/4470 based Dual Core Contetex-A9 Powerful Computer In Package,LQA242, 40x40x3.5mm<br />
* [[SOM]] - by [http://www.techor.com/ TECHOR.COM of China], series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[System-on-Module]] in the World!<br />
* [[SOM2416]] - by [http://www.techor.com/prod-39.html TECHOR.COM of China], Samsung 400MHz ARM926EJ-S based cost effective Application Processor,120pin out, 40x40x3.5mm<br />
* [[SOM6410]] - by [http://www.techor.com/prod-49.html TECHOR.COM of China],Samsung 667Hz ARM1176JFZ-S based cost effective Application Processor,120pin out,40x40x3.5mm<br />
* [[SOM3530]] - by [http://www.techor.com/prod-48.html TECHOR.COM of China], TI 600MHz CORETEX-A8 + 430MHz TMS320C64x+ dual core SOC/AP,120pin out, 40x40x3.5mm<br />
* [http://www.elinux.org/SBC8100 Mini8100] - by [http://www.timll.com/chinese/OMAP/mini8100.asp Timll of China], TI 600MHz CORETEX-A8 + 430MHz TMS320DM64x+ dual core,67 mm * 37 mm<br />
* [http://www.armkits.com/Product/mini8100.asp Mini8100] by [http://www.armkits.com Embest], TI OMAP3530 ARM Cortex-A8, 67mm*37mm<br />
* [http://www.armkits.com/Product/mini6045.asp Mini6045] by [http://www.armkits.com Embest], Atmel SAM9G45, 82mm*67mm<br />
* [http://www.armkits.com/Product/mini6245.asp Mini6245] by [http://www.armkits.com Embest], Atmel SAM9G45 ARM926EJ-S, 70mm*49.9mm<br />
* [http://www.armkits.com/Product/mini6300.asp Mini6300] by [http://www.armkits.com Embest], Atmel SAM9263 ARM926EJ-S, 52mm*52mm<br />
* [http://www.armkits.com/Product/mini9261-I.asp Mini9261-I] by [http://www.armkits.com Embest], Atmel SAM9261S ARM926EJ-S, 67.6mm*47mm<br />
* [http://www.armkits.com/Product/mini3250.asp Mini3250] by [http://www.armkits.com Embest], NXP LPC3250 ARM926EJ-S, 75mm*55mm<br />
* [http://www.variscite.com/products/item/96-var-som-om54-omap5-omap5432 VAR-SOM-OM54] by [http://www.variscite.com Variscite], TI OMAP 5 (OMAP5432)<br />
* [http://www.variscite.com/products/item/76-var-som-om44-ti-omap4460 VAR-SOM-OM44] by [http://www.variscite.com Variscite], TI OMAP 4 (OMAP4460)<br />
* [http://www.variscite.com/products/item/92-var-som-mx6-imx6 VAR-SOM-MX6] by [http://www.variscite.com Variscite], Freescale iMX6 Quad,Dual,Single core<br />
* [http://www.variscite.com/products/item/85-var-som-am33-am335x-am3354-am3352 VAR-SOM-AM33] by [http://www.variscite.com Variscite], TI Sitara AM335x (AM3354, AM3352)<br />
* '''CSB7xx''' - by [http://www.cogcomp.com Cogent Computer Systems, Inc. of USA]<br />
* '''CM-XXX''' - by [http://www.compulab.co.il CompuLab of Italia]<br />
* [http://www.toradex.com/products/colibri-arm-computer-modules/colibri-pxa270 Colibri PXA270] by [http://www.toradex.com Toradex of Switzerland], Marvell PXA270, 67.6 x 36.7mm <br />
* [http://www.toradex.com/products/colibri-arm-computer-modules Colibri PXA3xx] by [http://www.toradex.com Toradex of Switzerland], Marvell PXA320, PXA310, PXA300, 67.6 x 36.7mm <br />
* [http://www.toradex.com/products/colibri-arm-computer-modules Colibri Tegra] by [http://www.toradex.com Toradex of Switzerland], [[Tegra2|Nvidia Tegra 2]], Tegra 3, 67.6 x 36.7mm <br />
* [http://www.toradex.com/products/apalis-arm-computer-modules/apalis-t30 Apalis T30] by [http://www.toradex.com Toradex of Switzerland], Nvidia Tegra 3, 82.0 x 45.0mm <br />
* '''e-con Systems eSOM Modules''' - by [http://www.e-consystems.com/ e-con Systems, Inc. of USA]<br />
* '''[http://magniel.com/omapmod.htm OMAPMOD]''' by [http://magniel.com Magniel Inc.], TI OMAP3503 / OMAP3530 CORTEX A8, 67mm x 44mm, stand-alone system in a 144-pin SO-DIMM format.<br />
<br />
[[Category:System-On-Module]]<br />
[[Category:ARM Development Boards]]<br />
[[Category:Development Boards]]</div>Nandconhttps://elinux.org/index.php?title=Vendors&diff=233708Vendors2013-03-23T15:23:35Z<p>Nandcon: </p>
<hr />
<div>== Overview ==<br />
<br />
This page lists companies who offer services around embedded Linux, such as training, support, etc. We also list companies who provide Linux distributions specifically targeting embedded uses. If you are looking for companies who build and sell devices with Linux as their operating system, please see the [[Companies]] page.<br />
<br />
* [http://www.A2eTechnologies.com/ A2e Technologies], USA (San Diego & Boston)<br />
* [http://www.adeneo-embedded.com/ Adeneo Embedded], France<br />
* [http://www.armadeus.com Armadeus Systems], France<br />
* [http://bluewatersys.com Bluewater Systems], New Zealand<br />
* [http://bec-systems.com/ BEC Systems], USA<br />
* [http://www.calao-systems.com CALAO Systems], France<br />
* [http://www.codefidence.com/ Codefidence Ltd.], world wide<br />
* [http://www.cogentembedded.com/ Cogent Embedded], USA, Europe<br />
* [http://www.cwlinux.com/ CWLinux], Hong Kong<br />
* [http://www.denx.de/ DENX Software Engineering]<br />
* [http://www.drivingdevices.com/ Driving Devices Limited], United Kingdom<br />
* [http://www.e-consystems.com/embeddedlinux.asp e-con Systems Inc.], world wide<br />
* [http://www.embeddedalley.com/ Embedded Alley], world wide (gone - was acquired by Mentor Graphics)<br />
* [http://www.armkits.com/ Embest], China (acquired by Premier Farnell/element14)<br />
* [http://www.esfnet.co.uk/ Embedded Software Foundry Limited], Sheffield, UK (gone - acquired by William Matthew Limited)<br />
* [http://www.mind.be/ Essensium/Mind], Belgium<br />
* [http://www.femtolinux.com FemtoLinux], Israel<br />
* [http://www.free-electrons.com Free-Electrons], France<br />
* [http://holoscopio.com/ Holoscópio Tecnologia Ltda.], Brazil<br />
* [http://www.intellimetrix.us/ Intellimetrix]<br />
* [http://www.katdc.com KAT Digital Corp.]<br />
* [http://www.koansoftware.com/ KOAN sas], Bergamo, Italy<br />
* [http://www.lineo.co.jp/eng/index.html Lineo Solutions], Japan<br />
* [http://www.linkodas.com/ Linkodas], Lithuania<br />
* [http://www.linutronix.de/ Linutronix], Germany<br />
* [http://www.mentor.com/products/embedded_software/ Mentor Graphics (embedded software group)], worldwide<br />
* [http://www.mvista.com/ MontaVista], world wide<br />
* [http://www.mpc-data.co.uk/embedded-linux/ MPC Data], UK<br />
* [http://www.opersys.com/ Opersys], North America<br />
* [http://www.pengutronix.de/ Pengutronix], Germany<br />
* [http://www.practicalcontrol.co.uk/ Practical Control], UK<br />
* [http://www.ridgerun.com RidgeRun]<br />
* [http://www.secretlab.ca/ Secret Lab], North America<br />
* [http://www.sidebranch.com Sidebranch], The Netherlands.<br />
* [http://www.simantinee.com/ Simantinee Embedded System], India<br />
* [http://www.sporetools.com/ Spore Tools], New Zealand<br />
* [http://www.sysgo.com/ SYSGO], Germany<br />
* [http://www.team-embedded.com/ Team Embedded], Netherlands<br />
* [http://www.timesys.com/ TimeSys], USA<br />
* [http://www.tianyeit.com/ Tianyeit], China<br />
* [http://www.timll.com Timll], China<br />
* [http://whitequeue.com WhiteQueue Consulting], New Zealand<br />
* [http://www.wmltd.co.uk/ William Matthew Limited], United Kingdom<br />
* [http://www.windriver.com/ Wind River], world wide<br />
* [http://www.zeta2.ch/ Zeta2 GmbH], Switzerland<br />
<br />
[[Category:Companies]]</div>Nandconhttps://elinux.org/index.php?title=Computer-on-Module&diff=83738Computer-on-Module2012-01-10T06:35:57Z<p>Nandcon: /* Computer-on-Module Provider */</p>
<hr />
<div>A computer-on-module (COM) is a type of [http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Single-Board-Computer-SBC-Quick-Reference-Guide/ single-board computer](SBC), a subtype of an embedded computer system. It is also called [http://www.emacinc.com/som/som_select_guide.htm System on Module]System-on-Module as an extension of the concept of System on Chip (SoC) and lying between a full-up computer and a microcontroller in nature.<br />
<br />
Today's COM/SOM modules are complete computers built on a single circuit board. The design is centered on a single microprocessor with RAM, input/output controllers and all other features needed to be a functional computer on the one board. However, unlike a single-board computer, the COM module will usually lack the standard connectors for any input/output peripherals to be attached directly to the board. Instead, the wiring for these peripherals are bussed out to connectors on the board.<br />
<br />
The module will usually need to be mounted on a carrier board (or "baseboard") which breaks the bus out to standard peripheral connectors. Some COMs also include peripheral connectors and/or can be used without a carrier.<br />
<br />
A COM/SOM solution offers a dense package computer system for use in small or specialized applications requiring low power consumption or small physical size as is needed in embedded systems.<br />
<br />
Some devices also incorporate Field Programmable Gate Arrays.<br />
<br />
The terms "Computer-on-Module" and "COM" were coined by Venture Development Corporation (Natick, MA, USA) to describe this class of embedded computer boards. The term became more notable upon industry standardization of the COM Express format.<br />
<br />
A number of manufacturers offer products which are defined as system-on-module or computer-on-module. Among those are Advanced Knowledge Associates (www.a-k-a.net) in Santa Clara, CA; BCM Advanced Research (www.bcmcom.com) in Irvine, CA; Embedded Systems (www.embedded-systems.net); MEN Micro (www.menmicro.com) in Ambler, PA; DAVE Embedded Systems (www.dave.eu) in Italy, [http://www.phytec.com PHYTEC America] in Seattle, WA.<br />
<br />
== Computer-on-Module Provider ==<br />
* [[CIP]] - by [http://www.tianyeit.com tinayeit], That provide series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[Computer-In-Package]] in the World!<br />
* [[CIP311]] - by [http://www.tianyeit.com CIP311], TI 720MHz AM3359 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP312]] - by [http://www.tianyeit.com CIP312],TI 600/800/1G DM3730/OMAP3530 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP411]] - by [http://www.tianyeit.com CIP411],TI 1G/1.2G/1.5G OMAP4430/4450 based Dual Core Contetex-A9 Powerful Computer In Package,LQA242, 40x40x3.5mm<br />
* [[SOM]] - by [http://www.techor.com/ TECHOR.COM of China], series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[System-on-Module]] in the World!<br />
* [[SOM2416]] - by [http://www.techor.com/prod-39.html TECHOR.COM of China], Samsung 400MHz ARM926EJ-S based cost effective Application Processor,120pin out, 40x40x3.5mm<br />
* [[SOM6410]] - by [http://www.techor.com/prod-49.html TECHOR.COM of China],Samsung 667Hz ARM1176JFZ-S based cost effective Application Processor,120pin out,40x40x3.5mm<br />
* [[SOM3530]] - by [http://www.techor.com/prod-48.html TECHOR.COM of China], TI 600MHz CORETEX-A8 + 430MHz TMS320C64x+ dual core SOC/AP,120pin out, 40x40x3.5mm<br />
* [http://www.elinux.org/SBC8100 Mini8100] - by [http://www.timll.com/chinese/OMAP/mini8100.asp Timll of China], TI 600MHz CORETEX-A8 + 430MHz TMS320DM64x+ dual core,67 mm * 37 mm<br />
* [http://www.armkits.com/Product/mini8100.asp Mini8100] by [http://www.armkits.com Embest], TI OMAP3530 ARM Cortex-A8, 67mm*37mm<br />
* [http://www.armkits.com/Product/mini6045.asp Mini6045] by [http://www.armkits.com Embest], Atmel SAM9G45, 82mm*67mm<br />
* [http://www.armkits.com/Product/mini6245.asp Mini6245] by [http://www.armkits.com Embest], Atmel SAM9G45 ARM926EJ-S, 70mm*49.9mm<br />
* [http://www.armkits.com/Product/mini6300.asp Mini6300] by [http://www.armkits.com Embest], Atmel SAM9263 ARM926EJ-S, 52mm*52mm<br />
* [http://www.armkits.com/Product/mini9261-I.asp Mini9261-I] by [http://www.armkits.com Embest], Atmel SAM9261S ARM926EJ-S, 67.6mm*47mm<br />
* [http://www.armkits.com/Product/mini3250.asp Mini3250] by [http://www.armkits.com Embest], NXP LPC3250 ARM926EJ-S, 75mm*55mm<br />
<br />
* '''CSB7xx''' - by [http://www.cogcomp.com Cogent Computer Systems, Inc. of USA]<br />
* '''CM-XXX''' - by [http://www.compulab.co.il CompuLab of Italia]<br />
* '''Colibri Computer Modules''' - by [http://www.toradex.com Toradex of Switzerland]<br />
* '''e-con Systems eSOM Modules''' - by [http://www.e-consystems.com/ e-con Systems, Inc. of USA]<br />
* '''[http://magniel.com/omapmod.htm OMAPMOD]''' by [http://magniel.com Magniel Inc.], TI OMAP3503 / OMAP3530 CORTEX A8, 67mm x 44mm, stand-alone system in a 144-pin SO-DIMM format.<br />
<br />
[[Category:System-On-Module]]<br />
[[Category:ARM Development Boards]]<br />
[[Category:Development Boards]]<br />
[[Category:Categories]]</div>Nandconhttps://elinux.org/index.php?title=Computer-on-Module&diff=83732Computer-on-Module2012-01-10T06:35:31Z<p>Nandcon: /* Computer-on-Module Provider */</p>
<hr />
<div>A computer-on-module (COM) is a type of [http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Single-Board-Computer-SBC-Quick-Reference-Guide/ single-board computer](SBC), a subtype of an embedded computer system. It is also called [http://www.emacinc.com/som/som_select_guide.htm System on Module]System-on-Module as an extension of the concept of System on Chip (SoC) and lying between a full-up computer and a microcontroller in nature.<br />
<br />
Today's COM/SOM modules are complete computers built on a single circuit board. The design is centered on a single microprocessor with RAM, input/output controllers and all other features needed to be a functional computer on the one board. However, unlike a single-board computer, the COM module will usually lack the standard connectors for any input/output peripherals to be attached directly to the board. Instead, the wiring for these peripherals are bussed out to connectors on the board.<br />
<br />
The module will usually need to be mounted on a carrier board (or "baseboard") which breaks the bus out to standard peripheral connectors. Some COMs also include peripheral connectors and/or can be used without a carrier.<br />
<br />
A COM/SOM solution offers a dense package computer system for use in small or specialized applications requiring low power consumption or small physical size as is needed in embedded systems.<br />
<br />
Some devices also incorporate Field Programmable Gate Arrays.<br />
<br />
The terms "Computer-on-Module" and "COM" were coined by Venture Development Corporation (Natick, MA, USA) to describe this class of embedded computer boards. The term became more notable upon industry standardization of the COM Express format.<br />
<br />
A number of manufacturers offer products which are defined as system-on-module or computer-on-module. Among those are Advanced Knowledge Associates (www.a-k-a.net) in Santa Clara, CA; BCM Advanced Research (www.bcmcom.com) in Irvine, CA; Embedded Systems (www.embedded-systems.net); MEN Micro (www.menmicro.com) in Ambler, PA; DAVE Embedded Systems (www.dave.eu) in Italy, [http://www.phytec.com PHYTEC America] in Seattle, WA.<br />
<br />
== Computer-on-Module Provider ==<br />
* [[CIP]] - by [http://www.tianyeit.com tinayeit], That provide series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[Computer-In-Package]] in the World!<br />
* [[CIP311]] - by [http:www.tianyeit.com CIP311], TI 720MHz AM3359 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP312]] - by [http:www.tianyeit.com CIP312],TI 600/800/1G DM3730/OMAP3530 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP411]] - by [http:www.tianyeit.com CIP411],TI 1G/1.2G/1.5G OMAP4430/4450 based Dual Core Contetex-A9 Powerful Computer In Package,LQA242, 40x40x3.5mm<br />
* [[SOM]] - by [http://www.techor.com/ TECHOR.COM of China], series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[System-on-Module]] in the World!<br />
* [[SOM2416]] - by [http://www.techor.com/prod-39.html TECHOR.COM of China], Samsung 400MHz ARM926EJ-S based cost effective Application Processor,120pin out, 40x40x3.5mm<br />
* [[SOM6410]] - by [http://www.techor.com/prod-49.html TECHOR.COM of China],Samsung 667Hz ARM1176JFZ-S based cost effective Application Processor,120pin out,40x40x3.5mm<br />
* [[SOM3530]] - by [http://www.techor.com/prod-48.html TECHOR.COM of China], TI 600MHz CORETEX-A8 + 430MHz TMS320C64x+ dual core SOC/AP,120pin out, 40x40x3.5mm<br />
* [http://www.elinux.org/SBC8100 Mini8100] - by [http://www.timll.com/chinese/OMAP/mini8100.asp Timll of China], TI 600MHz CORETEX-A8 + 430MHz TMS320DM64x+ dual core,67 mm * 37 mm<br />
* [http://www.armkits.com/Product/mini8100.asp Mini8100] by [http://www.armkits.com Embest], TI OMAP3530 ARM Cortex-A8, 67mm*37mm<br />
* [http://www.armkits.com/Product/mini6045.asp Mini6045] by [http://www.armkits.com Embest], Atmel SAM9G45, 82mm*67mm<br />
* [http://www.armkits.com/Product/mini6245.asp Mini6245] by [http://www.armkits.com Embest], Atmel SAM9G45 ARM926EJ-S, 70mm*49.9mm<br />
* [http://www.armkits.com/Product/mini6300.asp Mini6300] by [http://www.armkits.com Embest], Atmel SAM9263 ARM926EJ-S, 52mm*52mm<br />
* [http://www.armkits.com/Product/mini9261-I.asp Mini9261-I] by [http://www.armkits.com Embest], Atmel SAM9261S ARM926EJ-S, 67.6mm*47mm<br />
* [http://www.armkits.com/Product/mini3250.asp Mini3250] by [http://www.armkits.com Embest], NXP LPC3250 ARM926EJ-S, 75mm*55mm<br />
<br />
* '''CSB7xx''' - by [http://www.cogcomp.com Cogent Computer Systems, Inc. of USA]<br />
* '''CM-XXX''' - by [http://www.compulab.co.il CompuLab of Italia]<br />
* '''Colibri Computer Modules''' - by [http://www.toradex.com Toradex of Switzerland]<br />
* '''e-con Systems eSOM Modules''' - by [http://www.e-consystems.com/ e-con Systems, Inc. of USA]<br />
* '''[http://magniel.com/omapmod.htm OMAPMOD]''' by [http://magniel.com Magniel Inc.], TI OMAP3503 / OMAP3530 CORTEX A8, 67mm x 44mm, stand-alone system in a 144-pin SO-DIMM format.<br />
<br />
[[Category:System-On-Module]]<br />
[[Category:ARM Development Boards]]<br />
[[Category:Development Boards]]<br />
[[Category:Categories]]</div>Nandconhttps://elinux.org/index.php?title=Computer-on-Module&diff=83726Computer-on-Module2012-01-10T06:34:23Z<p>Nandcon: /* Computer-on-Module Provider */</p>
<hr />
<div>A computer-on-module (COM) is a type of [http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Single-Board-Computer-SBC-Quick-Reference-Guide/ single-board computer](SBC), a subtype of an embedded computer system. It is also called [http://www.emacinc.com/som/som_select_guide.htm System on Module]System-on-Module as an extension of the concept of System on Chip (SoC) and lying between a full-up computer and a microcontroller in nature.<br />
<br />
Today's COM/SOM modules are complete computers built on a single circuit board. The design is centered on a single microprocessor with RAM, input/output controllers and all other features needed to be a functional computer on the one board. However, unlike a single-board computer, the COM module will usually lack the standard connectors for any input/output peripherals to be attached directly to the board. Instead, the wiring for these peripherals are bussed out to connectors on the board.<br />
<br />
The module will usually need to be mounted on a carrier board (or "baseboard") which breaks the bus out to standard peripheral connectors. Some COMs also include peripheral connectors and/or can be used without a carrier.<br />
<br />
A COM/SOM solution offers a dense package computer system for use in small or specialized applications requiring low power consumption or small physical size as is needed in embedded systems.<br />
<br />
Some devices also incorporate Field Programmable Gate Arrays.<br />
<br />
The terms "Computer-on-Module" and "COM" were coined by Venture Development Corporation (Natick, MA, USA) to describe this class of embedded computer boards. The term became more notable upon industry standardization of the COM Express format.<br />
<br />
A number of manufacturers offer products which are defined as system-on-module or computer-on-module. Among those are Advanced Knowledge Associates (www.a-k-a.net) in Santa Clara, CA; BCM Advanced Research (www.bcmcom.com) in Irvine, CA; Embedded Systems (www.embedded-systems.net); MEN Micro (www.menmicro.com) in Ambler, PA; DAVE Embedded Systems (www.dave.eu) in Italy, [http://www.phytec.com PHYTEC America] in Seattle, WA.<br />
<br />
== Computer-on-Module Provider ==<br />
* [[CIP]] - by [http://www.tianyeit.com], That provide series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[Computer-In-Package]] in the World!<br />
* [[CIP311]] - by [www.tianyeit.com Tianyeit], TI 720MHz AM3359 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP312]] - by [www.tianyeit.com Tianyeit],TI 600/800/1G DM3730/OMAP3530 based cost effective Application Processor,LQA242, 40x40x3.5mm<br />
* [[CIP411]] - by [www.tianyeit.com Tianyeit],TI 1G/1.2G/1.5G OMAP4430/4450 based Dual Core Contetex-A9 Powerful Computer In Package,LQA242, 40x40x3.5mm<br />
* [[SOM]] - by [http://www.techor.com/ TECHOR.COM of China], series of 40x40x4mm Size, Weight about 10g, the smallest and lightest [[System-on-Module]] in the World!<br />
* [[SOM2416]] - by [http://www.techor.com/prod-39.html TECHOR.COM of China], Samsung 400MHz ARM926EJ-S based cost effective Application Processor,120pin out, 40x40x3.5mm<br />
* [[SOM6410]] - by [http://www.techor.com/prod-49.html TECHOR.COM of China],Samsung 667Hz ARM1176JFZ-S based cost effective Application Processor,120pin out,40x40x3.5mm<br />
* [[SOM3530]] - by [http://www.techor.com/prod-48.html TECHOR.COM of China], TI 600MHz CORETEX-A8 + 430MHz TMS320C64x+ dual core SOC/AP,120pin out, 40x40x3.5mm<br />
* [http://www.elinux.org/SBC8100 Mini8100] - by [http://www.timll.com/chinese/OMAP/mini8100.asp Timll of China], TI 600MHz CORETEX-A8 + 430MHz TMS320DM64x+ dual core,67 mm * 37 mm<br />
* [http://www.armkits.com/Product/mini8100.asp Mini8100] by [http://www.armkits.com Embest], TI OMAP3530 ARM Cortex-A8, 67mm*37mm<br />
* [http://www.armkits.com/Product/mini6045.asp Mini6045] by [http://www.armkits.com Embest], Atmel SAM9G45, 82mm*67mm<br />
* [http://www.armkits.com/Product/mini6245.asp Mini6245] by [http://www.armkits.com Embest], Atmel SAM9G45 ARM926EJ-S, 70mm*49.9mm<br />
* [http://www.armkits.com/Product/mini6300.asp Mini6300] by [http://www.armkits.com Embest], Atmel SAM9263 ARM926EJ-S, 52mm*52mm<br />
* [http://www.armkits.com/Product/mini9261-I.asp Mini9261-I] by [http://www.armkits.com Embest], Atmel SAM9261S ARM926EJ-S, 67.6mm*47mm<br />
* [http://www.armkits.com/Product/mini3250.asp Mini3250] by [http://www.armkits.com Embest], NXP LPC3250 ARM926EJ-S, 75mm*55mm<br />
<br />
* '''CSB7xx''' - by [http://www.cogcomp.com Cogent Computer Systems, Inc. of USA]<br />
* '''CM-XXX''' - by [http://www.compulab.co.il CompuLab of Italia]<br />
* '''Colibri Computer Modules''' - by [http://www.toradex.com Toradex of Switzerland]<br />
* '''e-con Systems eSOM Modules''' - by [http://www.e-consystems.com/ e-con Systems, Inc. of USA]<br />
* '''[http://magniel.com/omapmod.htm OMAPMOD]''' by [http://magniel.com Magniel Inc.], TI OMAP3503 / OMAP3530 CORTEX A8, 67mm x 44mm, stand-alone system in a 144-pin SO-DIMM format.<br />
<br />
[[Category:System-On-Module]]<br />
[[Category:ARM Development Boards]]<br />
[[Category:Development Boards]]<br />
[[Category:Categories]]</div>Nandconhttps://elinux.org/index.php?title=Board_and_Chip_Vendors&diff=83720Board and Chip Vendors2012-01-10T06:24:45Z<p>Nandcon: /* T */</p>
<hr />
<div>This page has a list of the companies or organizations that make processors or boards for <br />
embedded products. If you are looking for companies who sell Linux software or Linux-related services,<br />
see the [[Vendors]] page. If you are looking for companies who sell end-user products based on<br />
Linux, see [[Companies]]. If you are looking for information about specific development boards, see<br />
[http://elinux.org/Category:Development_Boards Category:Development Boards]<br />
<br />
== A ==<br />
* [[Allwinner Technology]] - An arm soc vendor based in Zhuhai, China<br />
** make low cost arm soc for consumer electronic products, such as [[A1x]]. <br />
* [http://www.amcc.com/Embedded/ AMCC] - Applied Micro Circuits Corporation<br />
** makes embedded PowerPC processors??<br />
* AMD<br />
** acquired ATI and now produces MIPS-based embedded processors (Xilleon series)<br />
** Also, used to make Geode chip<br />
* [http://www.analog.com Analog Devices] - [http://en.wikipedia.org/wiki/Analog_Devices Wikipedia entry]<br />
** ADI designs and manufactures the [http://www.analog.com/blackfin Blackfin processor], which has been in the mainline Linux kernel since 2.6.22 (May 2007).<br />
** There is a [http://blackfin.uclinux.org/ central open source site] with a dedicated [http://docs.blackfin.uclinux.org/ documentation wiki]<br />
** Many more Blackfin manufactures can be found in [http://docs.blackfin.uclinux.org/doku.php?id=buy_stuff#other_hardwares_and_providers that wiki] as well<br />
* [http://www.arm.com/ ARM] - [http://en.wikipedia.org/wiki/ARM_Holdings Wikipedia entry]<br />
** ARM designs ARM architecture processors, and license the technology to companies that actually make the chips, they also make a few reference boards for their own technology named [[ARM RealView]], [[ARM Versatile]] and [[ARM Integrator Info]] <br />
* [http://www.armadeus.com Armadeus]<br />
** affordable ARM boards (Freescale i.MX + Xilinx Spartan FPGA)<br />
** Armadeus started as a community project <br />
* [http://www.atmel.com Atmel] - [http://en.wikipedia.org/wiki/Atmel Wikipedia entry]<br />
** Atmel makes [http://www.atmel.com/products/AT91/ AT91SAM 32-bit ARM-based Microcontrollers]<br />
** [http://www.linux4sam.org AT91 Linux gateway]<br />
** Atmel AT91SAM9G45 Single Board Computer[http://www.armkits.com/product/sbc6045.asp English Website],[http://www.timll.com/chinese/product/SBC6045.asp China Website]<br />
<br />
== B ==<br />
* [http://www.bluetechnix.com/ Bluetechnix] makes tiny Blackfin modules to simplify custom board development<br />
* Broadcom - makes ARM chips for mobile phone market<br />
<br />
== C ==<br />
* [http://www.calao-systems.com/ CALAO Systems] sells tiny and cheap ARM based boards<br />
* [http://www.camsig.co.uk/ Cambridge Signal Processing] makes tiny Blackfin modules to simplify custom board development<br />
* [http://www.cdatas.com/ C Data Solutions] makes tiny Blackfin modules to simplify custom board development<br />
* [http://www.cirrus.com Cirrus Logic] - [http://en.wikipedia.org/wiki/Cirrus_Logic Wikipedia entry]<br />
** Cirrus Logic makes [http://www.cirrus.com/en/products/pro/techs/T7.html ep93xx and ep73xx 32-bit ARM-based Microcontrollers]<br />
<br />
== D ==<br />
* [http://dkc1.digikey.com/us/mkt/beagleboard.html DigiKey] sells the OMAP3 based [http://www.beagleboard.org beagleboard], [http://pandaboard.org/ Pandaboard] and [http://beagleboard.org/bone Beaglebone]<br />
<br />
== E ==<br />
* [http://www.eflagtech.com/ EFlag Tech] does custom Blackfin platform designs (software and hardware)<br />
* [http://www.einfochips.com/marvell/ eInfochips - The Solution People] Open-RD based platform<br />
* [http://www3.elphel.com Elphel, Inc] provide high performance Network Cameras based on Free Software and Hardware designs. Axis EtraxFS & Spartan 3e 1200k gates FPGA.<br />
* [http://www.armkits.com Embest] provides standard single board computers and custom modules based on different ARM processors from Atmel, Cirrus, NXP, Samsung and Texas Instruments for ARM embedded applications.<br />
<br />
== F ==<br />
* [http://www.freescale.com/ Freescale Semiconductor] - [http://en.wikipedia.org/wiki/Freescale_Semiconductor Wikipedia entry]<br />
** Freescale makes the MX31 ARM11-based processor (and associated development boards), among others.<br />
** Freescale makes several PPC-based processors (and associated development boards) as well.<br />
<br />
== G ==<br />
* [http://www.gumstix.com/ Gumstix] sells various very small processor and add-on boards. Especially interesting for robotics related projects.<br />
<br />
== H ==<br />
* [http://www.developmentboard.net/ HITEG LTD] does custom embedded board ,it focused on IT outsourcing and embedded technology(software and hardware)<br />
* [http://www.hhcn.com/english/enindex.html Hua Heng Tech] does custom Blackfin platform designs (software and hardware)<br />
* [http://www.hvsistemas.com/ HV Sistemas S.L.] makes tiny Blackfin modules to simplify custom board development<br />
<br />
== I ==<br />
* [http://www.ibm.com/ IBM] - [http://en.wikipedia.org/wiki/IBM Wikipedia entry]<br />
** Makes embedded PowerPC processor chips, such as the PPC 440 line<br />
<br />
== K ==<br />
* [http://www.kwikbyte.com/ KwikByte] sells full-featured ARM based boards:<br />
** Such as the: [http://www.kwikbyte.com/KB9202.html KB9202], [http://www.kwikbyte.com/KB9260.html KB9260] and [http://www.kwikbyte.com/KBAT9261.html KBAT9261]<br />
<br />
== M ==<br />
* [http://www.marvell.com Marvell] sells a lot of ARM chips.<br />
** One of the most interesting ones is probably the [[Marvell 88W8618]] which is used in the [[Freecom MusicPal]].<br />
<br />
== N ==<br />
* NEC - makes ARM chips, used to make lots of MIPS chips<br />
<br />
== Q ==<br />
* [http://www.qualcomm.com Qualcomm] - makes multicore ARM [http://www.qctconnect.com/products/mobile-processors.html MSM] products that support Linux<br />
** Their [http://www.qctconnect.com/products/snapdragon.html Snapdragon] platform provides a 1GHz ARM core and advanced DSP.<br />
<br />
== R ==<br />
* [http://www.renesas.com/ Renesas Technology] - [http://en.wikipedia.org/wiki/Renesas_Technology Wikipedia entry]<br />
** Renesas makes the SuperH, M32R, and H8 RISC CPUs, the RX CISC CPUs, and others.<br />
<br />
== S ==<br />
* [http://www.samsung.com/ Samsung]<br />
** Samsung Electronics makes the S3C24XX(ARM 9), S3C64XX(ARM 11), S5P64XX(ARM 11), S5PC100(Cortex A8), S5PV210/S5PC110(Cortex A8), EXYNOS4210(Cortex A9) SoCs and others.<br />
** See more [http://www.samsung.com/global/business/semiconductor/products/mobilesoc/Products_ApplicationProcessor.html Samsung Application Processors]<br />
* [http://www.sirf.com SiRF] - Makes besides GPS products also ARM based SoC for location aware devices, like the [http://sirf.com/products/multifunction2.html ARM9 based Atlas III (codename) at4x0a] and the [http://sirf.com/products/multifunction3.html ARM11 based SiRFPrima].<br />
* [http://www.stericsson.com/ ST-Ericsson] make mobile platforms for handset form factors and similar, typically ARM based with cellular modems.<br />
* [http://www.sunplusmm.com/ Sunplus] is a company specialising in chips for multimedia and mobile applications. One of their interesting chips is the [[Sunplus SPMP3050A]] which is used in MP4 players.<br />
* [http://www.surveyor.com/ Surveyor Corporation] makes Blackfin based robot modules for academics, hobbyists, and professionals<br />
<br />
== T ==<br />
* [Tianyeit]<br />
** Sell the tiny Package -- Computer In Package base on TI OMAP35x/AM3517/omap4430/omap4460/dm3730/am3359 <br />
* [http://www.timll.com Timll]<br />
** Reference Design and customized HW/SW Design Based on TI OMAP35x/AM3517<br />
* [http://www.technexion.com TechNexion]<br />
** Expandable and fully customizable ARM system modules and interface boards<br />
** Embedded x86 boards with coreboot and linux core extensions<br />
* [http://www.ti.com/ Texas Instruments] - [http://en.wikipedia.org/wiki/Texas_Instruments Wikipedia entry]<br />
** Texas Instruments makes the MSP430 MCUs, TMS320 C2000/C5000/C6000 DSPs, [http://linux.davincidsp.com DaVinci]/[http://omap.com OMAP] ARM+DSP-based processors, and others.<br />
<br />
<br />
[[Category:Hardware]]</div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83714BeagleBoard Community2012-01-10T03:52:04Z<p>Nandcon: /* Other OMAP boards */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
[[Image:http://www.tianyeit.com/download/cip312.jpg]]<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 Based 40X40mm size [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP DM3730/OMAP3530 Based 40X40mm size [http://www.tianyeit.com CIP312] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83708BeagleBoard Community2012-01-10T03:51:23Z<p>Nandcon: /* Other OMAP boards */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
[[Image:http://www.tianyeit.com/download/cip312.jpg]]<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 Based 40X40mm size [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP DM3730/OMAP3530 Based 40X40mm size [http://www.tianyeit.com CIP312] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 Based [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83702BeagleBoard Community2012-01-10T03:51:00Z<p>Nandcon: /* Other OMAP boards */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
[[Image:http://www.tianyeit.com/download/cip312.jpg]]<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 Based 40X40mm size Computer In Package [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP DM3730/OMAP3530 Based 40X40mm size Computer In Package [http://www.tianyeit.com CIP312] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 Based [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83696BeagleBoard Community2012-01-10T03:49:41Z<p>Nandcon: /* Other OMAP boards */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
[[Image:http://www.tianyeit.com/download/cip312.jpg]]<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 Based [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP DM3730/OMAP3530 Based [http://www.tianyeit.com CIP312] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 Based [http://www.tianyeit.com CIP410] Computer In Package from [http://www.tianyeit.com Tianyeit]<br />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83690BeagleBoard Community2012-01-10T03:42:51Z<p>Nandcon: /* Tianyeit CIP312 */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
[[Image:http://www.tianyeit.com/download/cip312.jpg]]<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83684BeagleBoard Community2012-01-10T03:41:13Z<p>Nandcon: /* Tianyeit CIP312 */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
[[File:http://www.tianyeit.com/download/cip312.jpg]]<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=83678BeagleBoard Community2012-01-10T03:18:43Z<p>Nandcon: /* Tianyeit CIP312 */</p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [http://bb-lvds.blogspot.com/#ecwid:category=0&mode=product&product=7703686 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor] is available for pre-order with discount<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: ~37g<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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-projec.html article from Make], too.<br />
<br />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
<br />
===SBC8530===<br />
[http://www.armkits.com/Product/sbc8530.asp SBC8530] is from [http://www.armkits.com Embest], China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video.<br />
<br />
===Tianyeit CIP312===<br />
[http://www.tianyeit.com CIP312 ] is from [http://www.tianyeit.com Tianyeit], China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website<br />
<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source.<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<br />
[http://www.picklejar.org/lox LOX] - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases.<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 is one tool for UART boot:<br />
<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 />
There is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login.<br />
It's is used with a new version of omap3_usbload<br />
<br />
* [http://members.efn.org/~rick/pub/x-loader-usb.tar.bz2 x-loader-usb]<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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<br />
<br />
===Barebox booting===<br />
<br />
You can also use barebox to boot.<br />
<br />
On barebox you will have to generate it two time.<br />
<br />
The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig<br />
<br />
the Second time as the real boot loader omap3530_beagle_defconfig<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 X-Loader git repository]. Get it by<br />
<br />
git clone git://gitorious.org/x-loader/x-loader.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 ''MLO'' in the main directory. This is the signed x-loader and is ready for use.<br />
<br />
===U-Boot===<br />
<br />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.libav.org/ Libav] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandconhttps://elinux.org/index.php?title=BeagleBoard_Community&diff=49855BeagleBoard Community2011-06-01T07:20:44Z<p>Nandcon: </p>
<hr />
<div>[[Category: Linux]]<br />
[[Category: OMAP]]<br />
[[Category:Development Boards]]<br />
[[Category: BeagleBoard]]<br />
<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]. Most of this material is applicable to the Beagleboard xM.<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
* [[BeagleBoard_Trainer|Trainer Boards]] revision-B are now in stock at [http://www.tincantools.com TinCanTools]!<br />
* [[BeagleBoard_Zippy|Zippy Boards]] are in now in stock at [http://www.tincantools.com TinCanTools]!<br />
* LVDS LCD add-on board [http://bb-lvds.blogspot.com LVDS LCD] has been released and is available for order<br />
* An [http://www.liquidware.com/shop/show/BB-BT/BeagleTouch OLED touchscreen module "BeagleTouch"] and [http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice lithium battery module "BeagleJuice"] are now available from [http://www.liquidware.com/shop Liquidware]<br />
* [[BeagleBoard_Zippy2|Zippy2]] 100baseT Expansion boards for the [[BeagleBoard]] are no longer in production - stock may be available from [http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=zippy2 Digikey]!<br><br />
</div><br />
<br><br />
=Events=<br />
* Meet BeagleBoard at TI booth in June, 9-12th @ Linux Tag, Berlin, Germany, http://www.linuxtag.org/2010/<br />
* See TI BeagleBoard demo @ Embedded World, Nuremberg, Germany, March 2-4, 2010, Hall 11. booth 308<br />
* Each last Saturday of the month, next August 29, 2009: [[BeagleBoard/bangalore user meet|BeagleBoard Bangalore user meeting]] (Beagle Clinic India)<br />
* all over the world 2009: [http://www.ti.com/corp/docs/landing/techday09/index.shtml# TI Technology Days 2009]. <br />
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!<br />
<br />
<div style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#ffffcc; align:right; "><br />
'''NEWS:'''<br />
First person to post a "HowTo" for use with the [http://en.wikipedia.org/wiki/Wii_Remote#Nunchuk Nintendo Wii NunChuk] and Trainer board wins $150 cash<br />
<br />
* Must have working code example<br />
* Must have pictures of hardware interface<br />
* Must have complete instructions<br />
</div><br />
<br><br />
<br />
=Hardware=<br />
<br />
The Beagle Board is ''a low-cost, fan-less single-board computer based on TI's OMAP3 device family, with all of the expandability of today's desktop machines, but without the bulk, expense, or noise'' (from [http://beagleboard.org/ beagleboard.org]). It uses a TI [http://focus.ti.com/docs/prod/folders/print/omap3530.html OMAP3530] processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an 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|Price is USD 149]]. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See [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 its capabilities.<br />
<br />
==Components==<br />
<br />
{|border=0<br />
!Top view of rev B:<br />
!Top view of rev C:<br />
|-<br />
|[[Image:Bb revb top numbered.jpg]]<br />
|[[Image:Bb revc top numbered.jpg]]<br />
|-<br />
|}<br />
{|border=1<br />
!No.<br />
!Name<br />
!Comment<br />
|-<br />
|'''1'''<br />
|[http://www.ti.com/omap35x OMAP3530] processor + 256MB NAND<br />
<br />
+ 128MB DDR (rev B)<br />
<br />
+ 256MB DDR (rev C)<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 />
|1.8V only!<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 />
|Rev A and B: not working, unpopulated<br />
<br />
Rev C: populated and working<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 />
|'''16'''<br />
|TWL4030 (Rev A thru C2 inc.)<br />
[http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] (Rev C3 onwards)<br />
|Audio CODEC, USB port, power-on reset and power management. The TWL4030 is pin-compatible with the [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] chip and was used due to the very limited availability of the TPS65950 in early board revisions.<br />
|-<br />
|'''17'''<br />
|LCD<br />
|only rev C<br />
|-<br />
|'''18'''<br />
|USB power<br />
|<br />
|-<br />
|'''19'''<br />
|Host PHY<br />
|<br />
|-<br />
|'''20'''<br />
|32kHz<br />
|<br />
|-<br />
|'''21'''<br />
|12MHz<br />
|<br />
|-<br />
|'''22'''<br />
|RS232 XVCR<br />
|<br />
|-<br />
|'''23'''<br />
|PWR SW<br />
|<br />
|-<br />
|'''24'''<br />
|VBAT<br />
|<br />
|-<br />
|}<br />
<br />
* Board size: 3" x 3" (about 76.2 x 76.2 mm)<br />
* Weight: [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/beagleboard.png ~37g]<br />
* Currently 6 layer PCB; target: 4 layer<br />
<br />
'''Bottom of rev B:'''<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)].<br />
<br />
==Schematic==<br />
<br />
Schematic of BeagleBoard Rev. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous are also available from [http://beagleboard.org/hardware/design BeagleBoard.org design page] including in 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. C3 is available as part of [http://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard System Reference Manual (rev. C3.0)]. Rev C3 and previous layouts are also available from the [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 does not have the EHCI USB connector mounted. 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, revision < B6'': Some random boards and 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]. This issue was resolved on revision B6 and later boards.<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 Cortex-A8 processor is currently clocked at 500MHz<br />
* 500MHz is the default used because it is a balance of performance and longevity<br />
* For OMAP35x 600MHz is max recommended<br />
* An additional 720MHz overdrive is supported only on high-speed grade OMAP3530/25 devices as fitted to the Beagleboard C4<br />
* At 600MHz or higher OMAP35x is considered to be 'overdrive' and it does not have the same life expectancy<br />
* Higher than 600/720MHz is out of spec and no guarantee it will work at all (or not damage itself)<br />
<br />
* Also keep in mind that if you go higher you probably want to increase the core voltage. Some of this is mentioned in tables 3-3, 4-15 and 4-16 of the [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 />
|720 MHz||520 MHz||1.35V<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 />
* For some OMAP3 clock, voltage and power management discussion see [http://focus.ti.com/lit/an/sprt495/sprt495.pdf OMAP3 power management white paper], too.<br />
* The OMAP3 chip on the Beagle lacks the efuses needed for using the SmartReflex technology, see [http://www.beagleboard.org/irclogs/index.php?date=2009-02-26#T10:44:24].<br />
* There is a thermal monitor in the core, you could use to scale frequency up and down<br />
<br />
To set CPU clock to 600 MHz, there are two options. Both '''do not''' adjust the voltage, so the system may become unstable:<br />
<br />
* The u-boot command "mw 48004940 0012580c" will temporarily set the CPU clock to 600 MHz (not permanent over reset).<br />
* To permanently set the CPU clock to 600 MHz, include the above command in the "bootcmd" variable or equivalent script.<br />
<br />
* To set the DSP clock to 430 Mhz use "mw 48004040 0x0009ae0c".<br />
<br />
==Power management==<br />
<br />
* Detailed OMAP3 Power Management Information can be found [[OMAP_Power_Management|HERE]]<br />
* Latest Linux kernel power management development for TI OMAP SoCs is maintained in [http://git.kernel.org/?p=linux/kernel/git/khilman/linux-omap-pm.git;a=summary Kevin's linux-omap-pm git tree]<br />
* Russ' Beagle HW modifications resulted in [http://groups.google.com/group/beagleboard/browse_thread/thread/197a8ef6b46cc828 8mW sleep for Beagle Board]<br />
<br />
Without PM kernel, the Beagle [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm consumes ~1.5 watts idle, however it also uses the same amount under load] (see bottom of that page).<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 />
DigiKey videos [http://www.youtube.com/watch?v=KBbCdnOj5vg part 1], [http://www.youtube.com/watch?v=zymOmduNWyI part 2] and [http://www.youtube.com/watch?v=Uj19Bi5NYeU part 3].<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. The REV C2 provides access to these lines. Several projects to interface an LCD to the beagleboard exist:<br />
<br />
* [[BeagleBoardRawLCD|interfacing to Raw LCD Panels]] article <br />
* [http://digitalsurveyinstruments.com/beagleperiphials/hdmi2parallel/doc/index.htm hdmi to parallel] workaround method<br />
* [http://www.harbaum.org/till/dvi2par/index.shtml dvi2par cheap diy HDMI to parallel converter]<br />
<br />
=Availability=<br />
<br />
BeagleBoard Rev. C3 boards are available from<br />
<br />
* [http://www.mouser.com/beagleboard Mouser]<br />
* [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 />
BeagleBoard Rev. C4 boards are available from:<br />
<br />
* [http://www.liquidware.com/shop/show/BB-C4/BeagleBoard+C4 Liquidware]<br />
<br />
Note: For non-US Digi-Key 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 />
Note: For European users, [http://www.ebv.com/fileadmin/products/Press_Print/Campaigns/2009/Product_Campaigns/Texas_Beagle_Board_englisch.pdf EBV Elektronik] sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP).<br />
<br />
Note: German (Europe) users can order through German shops, too. For higher price, though. <br />
* [http://shop.embedded-projects.net/product_info.php/info/p159_BeagleBoard--OMAP-3-.html Embedded Projects Shop] sells BeagleBoard for EUR 199.00 + shipping.<br />
* [http://www.handheld-linux.com/wiki.php?page=Beagle%20Board Handheld-Linux] sells BeagleBoard for EUR 159.00 + shipping.<br />
* [http://www.watterott.com/en/BeagleBoard Watterott electronic] sells BeagleBoard for EUR 142,80 + shipping.<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 />
There are 4 revisions of the B board in the field: B4, B5, B6 and B7.<br />
<br />
The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers.<br />
<br />
==Revision C2==<br />
Revision C2 is same as revision B7 except:<br />
* USB HOST (EHCI) is operational on revision C2, with standard USB A female connector.<br />
* Add interface for raw LCDs ([http://groups.google.com/group/beagleboard/msg/2e82c3ed6061d9d2 mockup])<br />
* It uses updated OMAP3 revision. BeagleBoard revisions B4+B5 uses OMAP3 ES 2.1 (engineering sample), while BeagleBoard revision C2 uses ES 3.0. OMAP3 ES 3.0 fixes minor issues:<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 feature<br />
* Uses [http://focus.ti.com/docs/prod/folders/print/tps65950.html TPS65950] OMAP power controller instead of TWL4030<br />
* Three additional PWM signals on the expansion connector added as pin mux options to existing pins ([http://groups.google.com/group/beagleboard/browse_thread/thread/d5872b7c6d74592c?hl=en# message])<br />
* Revision detection (to be able to identify C2 board from older boards by software, e.g. for different pin mux)<br />
* 256MB RAM ([http://groups.google.com/group/beagleboard/msg/3a38d0f21cefd6b1?hl=en message]) (and still 256MB NAND like rev B)<br />
<br />
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2.<br />
<br />
==Revision C3==<br />
As revision C2 boards are [http://groups.google.com/group/beagleboard/msg/e41d3c97aa7d4951 sold out], revision C3 will ship now.<br />
<br />
Revision C3 is same as revision C2 [http://groups.google.com/group/beagleboard/msg/037318fbc44139d5 except]:<br />
* Optional RTC [http://parts.digikey.com/1/parts/1454-battery-lith-coin-3v-12-5mm-vert-vl-1220-vcn.html VL1220 series] backup battery<br />
* Mounting holes conected to ground<br />
* Slightly improved S-Video<br />
<br />
==Revision C4==<br />
Revision C4 boards are the same as Revision C3 except:<br />
* Processor is 720MHz capable OMAP3<br />
* Improved USB Host PHY power rails<br />
<br />
==Clones==<br />
===EBVBeagle===<br />
EBV build and sell their own BeagleBoard called [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], see e.g. [http://fl0rian.wordpress.com/2009/03/08/the-other-beagleboard/].<br />
It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables.<br />
More information in [http://www.ebv.com/en/press-print/news-pr/details/news//press-releas-54.html official press release].<br />
<br />
===Mini Board===<br />
[[Mini_Board|ICETEK-OMAP3530-Mini]] is a chinese BeagleBoard clone.<br />
<br />
===Embest DevKit8000===<br />
[http://www.armkits.com/Product/devkit8000.asp DevKit8000] is from [http://www.armkits.com Embest], China. It is a compact development board based on TI OMAP3530.<br />
<br />
===Embest DevKit8500D===<br />
[http://www.armkits.com/Product/devkit8500d.asp DevKit8500D] is from [http://www.armkits.com Embest], China. It is a high-performance development board based on TI DM3730.<br />
===Tianyeit SOM3530KIT===<br />
[http://www.tianyeit.com SOM35350KIT ] is from [http://www.tianyeit.com Tianyeit], China. It is a compact development board based on TI OMAP3530 only $250 with 5'' WVGA LCD and Touchscreen Include 100M ethernet I/F Etc.<br />
===IGEPv2===<br />
[http://www.igep-platform.com/ IGEPv2 Platform] is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* 720MHz OMAP3 Processor<br />
* 512MB RAM / 512MB Flash<br />
===SOM3530===<br />
[[SOM3530]] is a chinese BeagleBoard clone [[System-on-Module]],Dimension 40x40x4mm, Maybe the smallest [http://wiki.davincidsp.com/index.php?title=OMAP3_Overview OMAP3530]-based modules in the world! Including 100M high perfomance ethernet I/F<br />
<br />
==BeagleBoard-based products==<br />
* [http://www.alwaysinnovating.com/touchbook/ Always Innovating Touch Book], see [http://gigglehd.com/zbxe/hdforum/files/attach/images/899852/493/987/001/always_innovating_touch_book_0011.jpg]<br />
<br />
==Beagle case==<br />
<br />
*[http://specialcomp.com/beagleboard/ Special Computing acrilyic case]<br />
** [http://groups.google.com/group/beagleboard/browse_thread/thread/1c82316019633e51 SketchUp 3D model]<br />
* [http://www.esawdust.com/product/encl-dh-r1/ eSawdust metal case]<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 />
See [[:Category:BeagleBoard_Expansion_Boards]] for more information about expansion boards<br />
<br />
[http://bb-lvds.blogspot.com LVDS LCD] - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM)<br />
<br />
[http://www.liquidware.com/shop/show/BB-BT/BeagleTouch BeagleTouch] - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface<br />
<br />
[http://www.liquidware.com/shop/show/BB-BJC/BeagleJuice BeagleJuice] - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board.<br />
<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. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open.<br />
<br />
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-to-Serial Converter==<br />
<br />
Since many systems no longer come with an actual serial port, you might need to pick up a USB-to-serial converter at your local computer store to connect to your BeagleBoard. Be warned that some of them simply do not work. Many of them are based on the Prolific chip, and require the pl2303 module to be loaded. But even when two converters appear to have exactly the same characteristics as listed in /var/log/messages, if you simply can't get one to work, be ready to try a different one.<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 high-speed USB 2.0 hub.<br />
<br />
According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 5V at 500mA which is enough to power a hub and several low-power devices. However, this is only true if the BeagleBoard is powered through its power jack from a well-regulated 5V external power supply. If the BeagleBoard is powered through the OTG port, the EHCI port sources an "extremely limited" ampount of power (probably 100mA or so) so you'll need a "self-powered" USB 2.0 hub with its own external power supply. [Reference: Sections 5.6 and 7.2 of the BBSRM Rev C2.2.]<br />
<br />
'''Hardware issue on rev C3''' - the EHCI port on some rev C3 boards is unstable and will disconnect hubs/devices. Symptoms are: devices are disconnected from the port and cannot be reconnected without a reboot. It appears the shared 1.8V rail between the OMAP3530 and the power chip was getting noisy. Suggested solution (works on many boards) is adding a 22 uF 0805 package SMT capacitor atop the existing cap on C97. If SMT parts are not available, some boards can be repaired by a 22 uF through-hole capacitor across GND and VIO_1V8 on the expansion connector. See [http://groups.google.com/group/beagleboard/browse_thread/thread/5b8385f0bb1f63da] for more information.<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 leaves the BeagleBoard unmodified.<br />
</td><td>[[Image:usb_otg.png]]</td></tr></table><br />
The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5.<br />
See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2.<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 />
== Arduino ==<br />
<br />
* [[BeagleBoard_Trainer|Trainer Board]] from [http://www.tincantools.com TinCanTools] has an arduino compatible Atmel AVR on board<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardNano Nano] uses a FTDI FT-232 based interface which is supported by the ftdi_sio kernel driver- [[BeagleBoard_with_Arduino|How To Notes]]<br />
* Arduino [http://arduino.cc/en/Main/ArduinoBoardUno Uno] uses a Atmel ATmega8U2 based interface which is supported by the cdc_acm kernel driver - [[BeagleBoard_with_Arduino|How To Notes]]<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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98]. <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 the Initialization chapter of [http://www.ti.com/lit/pdf/spruf98 SPRUF98] 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 to 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 />
You can download this tool from [http://www.sysanalyser.com/sp27213.exe here]. Make sure the version is 2.0.6; newer versions may not work.<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 # mmc init<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 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv<br />
<br />
Note: saveenv will not work on the xM. You will need to create a <tt>boot.scr</tt> file in the FAT partition for the xM. See [https://fedoraproject.org/wiki/Architectures/ARM/BeagleBoardxMSDCard#Set_up_u-boot set up u-boot]<br><br />
Note2: after a saveenv, u-boot will not read your boot.scr any more. To make it use boot.src again, type "nand erase" in the u-boot promt (works on C4, older versions may need a "nand unlock" too).<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 />
'''Update on April 23 - 2010''': Sources for the X-Loader and U-Boot that ship on the BeagleBoard can be found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/]. The U-Boot version found in that repository supersedes the one found at [http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/ http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/].<br />
<br />
'''Update on March 3 - 2011''': Sources for the SD card shipped with revisions Ax and Bx of the BeagleBoard-xM are in the Angstrom Distribution. The script used to build the sources is documented at http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnosticsNext. The sources at http://gitorious.org/beagleboard-validation are meant to mimic what was used in the OpenEmbedded-based build.<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://gitorious.org/x-load-omap3 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 />
[http://www.denx.de/wiki/U-Boot/WebHome Mainline U-Boot] has good support for BeagleBoard (except for revision C4; see note below). Get it by:<br />
<br />
git clone git://git.denx.de/u-boot.git u-boot-main<br />
cd u-boot-main<br />
git checkout --track -b omap3 origin/master<br />
<br />
Build (assuming [[ARMCompilers#Recommendations|Code Sourcery GCC]]):<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 />
Note: For experimental U-Boot patches not ready for mainline yet, Steve's [http://www.sakoman.net/cgi-bin/gitweb.cgi?p=u-boot-omap3.git;a=summary Beagle U-Boot git repository] is used to test them. Get it by:<br />
<br />
git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3<br />
cd u-boot-omap3<br />
git checkout --track -b omap3-dev origin/omap3-dev<br />
<br />
Note: For changing the screen resolution there is one option modifying the file in "include/configs/omap3_beagle.h" and adjusting the maximum resolution before compiling as describe in [http://gitorious.org/linux-omap-dss2/linux/blobs/master/Documentation/arm/OMAP/DSS ARM OMAP2/3 Display Subsystem]<br />
<br />
<br />
Note: For beagleboard revision C4, above sources will not work. USB EHCI does not get powered, hence devices are not detected...<br />
get a patched version of u-boot from http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/<br />
('''Update on April 23 - 2010''': This repository has been superseded by the U-Boot version found at [http://gitorious.org/beagleboard-validation/ http://gitorious.org/beagleboard-validation/])<br />
<br />
<br />
Note: If you want to activate I2C from the expansion header, modify board/ti/beagle/beagle.h :<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/<br />
<br />
to<br />
<br />
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/<br />
MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/<br />
<br />
===Linux kernel===<br />
<br />
[http://git.kernel.org/?p=linux/kernel/git/tmlind/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://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git linux-omap-2.6<br />
cd linux-omap-2.6<br />
<br />
Build:<br />
<br />
make distclean<br />
make ARCH=arm omap2plus_defconfig<br />
make ARCH=arm menuconfig # only needed if you want to change the default configuration<br />
make ARCH=arm uImage<br />
<br />
The result will be a ''uImage'' in ''arch/arm/boot/'' directory.<br />
<br />
If you use the OE toolchain and want to build outside of the OE tree you should do<br />
ARCH=arm<br />
export ARCH<br />
PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration<br />
make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage<br />
Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there<br />
<br />
Note: If you are interested in kernel development have a look to [[BeagleBoardLinuxKernel|manually compiling BeagleBoard kernel]], too.<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://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap Koen's collection of kernels patches for OE] and the [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/packages/linux/linux-omap_git.bb 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 />
* [http://www.bat.org/~tomba/linux-omap.html Tomi's kernel tree], a clone of main OMAP git with display sub-system patches, replacing the entire display driver with one that is the likely direction moving forward.<br />
<br />
=Compiler=<br />
<br />
TI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP.<br />
<br />
==ARM==<br />
<br />
There is broad compiler support including gcc - please see [http://www.elinux.org/ARMCompilers ARM Compilers]<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 />
=Cortex A8 ARM features =<br />
<br />
ARM Cortex-A8 in OMAP3 is a high performance dual-issue applications processor which reaches a performance of 2.0 DMIPS/MHz (compared to ARM11 at 1.2 DMIPS/MHz). It is ARM v7 architecture, which is fully backwards compatible with application code for previous ARM processors.<br />
<br />
It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set.<br />
<br />
See [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] article for an intro into VFP-lite and NEON.<br />
<br />
===ARM NEON===<br />
<br />
NEON is a 64/128-bit wide SIMD vector extension for ARM, which has been architected to be an efficient C compiler target as well as being used from assembly language. It has 32x 64-bit registers (with a dual view as 16x 128-bit registers) which can hold the following datatypes:<br />
* 64-bit signed/unsigned<br />
* 32-bit signed/unsigned<br />
* 32-bit single precision floating point<br />
* 16-bit signed/unsigned<br />
* 8-bit signed/unsigned<br />
<br />
The key advantage of NEON is very high performance vector math processing, whilst being easy to program. It is the same thread of control as the ARM (but different instructions), and is supported by the same tools, debuggers and operating systems.<br />
<br />
The NEON instruction set is documented in ARM's [http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/DUI0204I_rvct_assembler_guide.pdf RealView Compilation Tools Assembler Guide].<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 />
NEON is used by various opensource projects:<br />
* [http://www.ffmpeg.org/ ffmpeg] - libavcodec used by mplayer, omapfbplay, and many other linux applications<br />
* libpixman - used by X.org and Mozilla & Webkit browsers to render text and graphics<br />
* [http://www.bluez.org/ Bluez] - official Linux Bluetooth stack<br />
* [http://eigen.tuxfamily.org/ Eigen2] - C++ template library for linear algebra (matrix math etc)<br />
* [http://www.webmproject.org/code/ Webm] - Google's new opensource video codec<br />
<br />
Compilation tools support for NEON:<br />
* ARM RVDS<br />
* gcc<br />
* [http://blog.llvm.org/2010/04/arm-advanced-simd-neon-intrinsics-and.html LLVM]<br />
<br />
=== ARM Cortex-A8 Floating Point ===<br />
<br />
There are two types of instructions in the ARM v7 ISA that handle floating point:<br />
<br />
1) '''VFPv3''' Floating point instruction set (used for single/double precision scalar operations).<br />
These is used by gcc for C floating point operations on 'float' and 'double' since ANSI C can only describe scalar floating point, where there is only one operation at a time.<br />
<br />
2) '''NEON''' [http://www.arm.com/products/multimedia/neon/ NEON] vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register)<br />
These can be use by gcc when -ftree-vectorize is enabled and -mfpu=neon is specified, and the code can be vectorized. In other cases the VFPv3 scalar ops will be used.<br />
<br />
ARM Cortex-A processors have separate floating point pipelines that handle these different instructions.<br />
<br />
On Cortex-A8, the designers' focus was on the NEON unit performance which can sustain 1 cycle/instr throughput (processing 2 single-precision values at once) for consumer multimedia. The scalar VFPv3 FPU cannot achieve this level of performance (cycle timings are in the Cortex-A8 TRM download), but it is still a lot better than doing floating point using integer instructions.<br />
<br />
If you need the highest performance floating point on Cortex-A8, you need to use single precision and ensure the code uses the NEON vectorized instructions:<br />
* use gcc with -ftree-vectorize (possibly modify source code to make it vector friendly)<br />
* use NEON instrinsics (#include <arm_neon.h>, float32x2_t datatype and vmul_f32() etc)<br />
* use NEON asm directly<br />
<br />
On Cortex-A9, there is a much higher performance floating point unit which can sustain 1 cycle/instr throughput, with low result latencies. OMAP4 uses dual-core Cortex-A9+NEON which gives excellent floating-point performance for both FPU and NEON instructions.<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]],[[BeagleBoardOpenEmbeddedDevelopment|OpenEmbedded development]] and [http://wiki.openembedded.org/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 />
See also [[BeagleBoardEclipse|Using Eclipse with Beagle]] (for JTAG debugging)<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://gforge.ti.com/gf/project/omapandroid/ 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 />
'''Android on OMAP wiki'''<br />
<br />
Wiki page for Andorid on OMAP can be found [[Android on OMAP|here]]<br />
<br />
'''0xdroid'''<br />
<br />
[http://gitorious.org/0xdroid 0xdroid], the enhanced version of Android on Beagleboard by [http://0xlab.org 0xlab]. The [http://gitorious.org/0xdroid source code], [http://downloads.0xlab.org/ pre-built binaries], and [http://code.google.com/p/0xdroid/issues/list issue tracker] are available for review and reference.<br />
<br />
The latest development supports OMAP audio, OMAP video overlays, ARM Cortex A8 NEON/Thumb2 performance optimizations, mouse cursor, hot-pluggable USB keyboard & mouse, user-friendly installer for system image, and various Android tweaks. Detailed instructions for 0xdroid are available through [http://code.google.com/p/0xdroid/wiki/MainPage Google Code wiki].<br />
<br />
You can watch 0xdroid demo video on Beagle Board:<br />
* [http://www.youtube.com/watch?v=v6wdTOHrwQw 0xdroid demo video (1)]<br />
* [http://www.youtube.com/watch?v=ol9LWBKXXwQ 0xdroid demo video (2)]<br />
* [http://www.youtube.com/watch?v=OGpYk1p1UPI 0xdroid demo video (3)]<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 />
==Ubuntu==<br />
<br />
See [[BeagleBoardUbuntu|Ubuntu (ARM)]] installation guide how to install Ubuntu (ARM) on BeagleBoard.<br />
* [[BeagleBoardLucid]] Details about Ubuntu Lucid on the BeagleBoard.<br />
* [[BeagleBoardUbuntuKernel]] Details about the Ubuntu Kernel on the BeagleBoard.<br />
* [[BeagleBoard Ubuntu]]<br />
* [[BeagleBoardUbuntuKarmic]]<br />
<br />
==Debian ARM==<br />
<br />
See [[BeagleBoardDebian|Debian (ARM)]] installation guide how to install Debian (ARM) on BeagleBoard.<br />
<br />
==GeeXboX ARM==<br />
<br />
See [[GeeXboX|GeeXboX (ARM)]] installation guide how to install GeeXboX on BeagleBoard (including clones).<br />
<br />
==Scratchbox==<br />
<br />
[http://www.scratchbox.org/ Scratchbox] is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution. See [http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/ Felipe's Scratbox 1 and 2 intro], too.<br />
<br />
=Software hints=<br />
<br />
This section collects hints, tips & tricks for various software components running on beagle.<br />
* [[RPM_jffs2_issue]]<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 />
OpenEmbedded users can add the [http://evolvis.org/scm/?group_id=11 Jalimo Subversion repository] as an overlay (instructions are in the repository). This will allow them to build OpenJDK packages. Inclusion of these recipes in mainline OpenEmbedded is planned but still ongoing.<br />
<br />
The recipes offer the following functionality:<br />
<br />
* OpenJDK + Hotspot (Zero port) (all J2SE functionality, including JVMTI, interpreted only)<br />
* OpenJDK + Cacaco (all J2SE library features, missing JVMTI, decent JIT compiler)<br />
* OpenJDK + Hotspot (Shark port) (not working yet)<br />
<br />
[http://camswl.com/ Edward Nevill] from ARM Ltd. is working on interpreter optimization in Zero for ARM.<br />
<br />
People interested in getting this stuff working better should contact people on:<br />
* [http://evolvis.org/mail/?group_id=11 Jalimo Mailinglist]<br />
* [http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev Icedtea Mailinglist]<br />
<br />
You should also check out IcedTea's [http://iced-tea.org/wiki/FrequentlyAskedQuestions FAQ].<br />
<br />
== Booting Android (TI_Android_DevKit) from USB stick ==<br />
'''Please note'''<br />
* This procedure was tested on beagleboard-xm revision B(A3)<br />
* sdcard will be still needed to load kernel.<br />
* sdcard will contain boot parameters for kernel to use usb stick as root filesystem<br />
<br />
'''Procedure'''<br />
# Download Android Froyo for beagleboard-xm from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html TI]<br />
# Follow the installation procedure for sdcard card.<br />
# Test if froyo is working with your beagleboard-xm with sdcard.<br />
# You will notice that android has slow performance. That is why we will install root filesystem on usb stick.<br />
# Format your usb stick and create one ext3 partition.<br />
# Mount newly created ext3 partition and extract TI's root filesystem to it: sudo tar jxvf rootfs_am37x.tar.bz2 -C /media/ROOT<br />
# Unmount flashdisk and insert it into beagleboard.<br />
# Mount your sdcard to your computer.<br />
# Now we need to tell beagleboard to use root filesystem from /dev/sda1 partition instead of sdcard partition that is done by overwriting boot.scr on sdcard with [http://www.apksoft.eu/android/boot.scr this one]<br />
# Unmount sdcard insert it into beagleboard and test.<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 />
Tutorial:<br />
* [http://code.google.com/p/beagleboard/wiki/HowtoUseSGXunderAngstrom How to use SGX with Angstrom in OE]<br />
* [http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/ Building Qt to make use of the Beagle board’s SGX GPU]<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 />
* [http://www.hitlabnz.org/wiki/EmbeddedAR An Augmented Reality application combining ARToolkit and OpenGL ES 2.0]<br />
* [http://www.youtube.com/watch?v=cfeqSOYkBJg&feature=player_embedded Video of the Beagle Board turned into a portable battery powered Linux tablet]<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://beagleboard.org/static/BBSRM_latest.pdf BeagleBoard HW Reference Manual (rev. C2)]<br />
* [http://beagle.s3.amazonaws.com/BBSRM_7_2_0.pdf BeagleBoard HW Reference Manual (rev. B7)]<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 />
* [http://elinux.org/BeagleBoardPinMux OMAP3 eLinux pinmux page]<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]<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 />
* [http://www.beagleboard.de/ German Beagle Board Forum and Wiki]<br />
<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 />
* [http://www.linuxdevices.com/news/NS5682470737.html LinuxDevices article about Beagle Rev C, Beagle MID from HY Research, Touch Book and Sponsored Projects Contest]<br />
* [http://www.linuxjournal.com/article/10607 Linuxjournal article on the BeagleBoard]<br />
<br />
==Books==<br />
* [[OMAP_and_DaVinci_Software_for_Dummies|OMAP and DaVinci Software for Dummies]]<br />
<br />
==Beagle based training materials==<br />
* http://free-electrons.com/blog/beagle-labs/<br />
<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 />
* [http://www.silica.com/events/seminars/seminar-overview/ti-omp-workshop.html OMAP35x training by Silica], January 21, 2009, Cambridge, UK, ARM Holdings Lecture Theatre. [[RichardB's notes from the seminar]]<br />
* [[BeagleBoard/contest|BeagleBoard contest #2]], unitl February 27, 2009: : Create a cool BeagleBoard application and win a Rev C2!<br />
* [http://groups.google.com/group/beagleboard/browse_thread/thread/b15cf8a5797c73a2 Silica - Free TI - ARM OMAP Workshop], Brussels, Europe, March 31st 2009<br />
* SILICA's [http://www.silica.com/events/seminars/seminar-overview/ti-omap-piccolo-poing.html Texas Instruments 2-in-1 Seminar: OMAP & Piccolo], May 13th 2009: Poing (Munich) - Germany<br />
* 24th until 27th June 2009: [http://www.linuxtag.org/2009/en.html Linux Tag Germany] with [http://groups.google.com/group/beagleboard/msg/27fefef5f1d2ef73 TI booth] and [http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-events/details.html?talkid=183 Beagle presentation]<br />
* until 31st July 2009: [http://www.cranessoftware.com/services/training/beagledesigncontest.html BeagleBoard Design Contest INDIA Edition] ([http://beagleboard.blogspot.com/2009/04/beagleboard-design-contest-india.html blog entry])<br />
* TI Technology Day Dallas, Tex. on June 16 will held a [http://www.linuxdevices.com/news/NS5682470737.html BeagleBoard users group meeting] (see section ''Availability'').<br />
* Thursday, August 27th: [http://wiki.omap.com/index.php/ETechDays_Lightning_Talks ETechDays Lightning Talks]. 15 minute lightning talks via IRC, WebEx or Dial-In.<br />
* 22.- 23.08.2009, Sankt Augustin, Germany: [http://www.froscon.de/en/ FrOSCon 2009] ([http://groups.google.com/group/beagleboard/browse_thread/thread/6aee27a7d121f4f4# call for papers])<br />
<br />
==Beagle wiki pages==<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 />
* [[Mount_BeagleBoard_Root_Filesystem_over_NFS_via_USB|Mount BeagleBoard root file system over NFS via USB]]<br />
* [[BeagleBoardSugar|Sugar on BeagleBoard]]<br />
* [[BeagleBoard/gst-openmax|BeagleBoard OpenMAX usage]]<br />
* [[BeagleBoard/video|BeagleBoard video]]<br />
* [[BeagleBoardOpenCV|Using OpenCV computer vision library with BeagleBoard]]<br />
* [[U-boot_musb_gadget_support|U-boot musb gadget support]]<br />
* [[BeagleBoard-JP|Japanese translation of this Beagle page]]<br />
* [[BeagleEPD|BeagleBoard E-Ink Platform Driver]]<br />
* [[BeagleBoardFedora|Random hacking notes for getting Fedora 10 to kinda work with the BeagleBoard]]<br />
* BeagleBoard specific [[BeagleBoard/GSoC|Google Summer of Code 2009]] page, [[BeagleBoard/Ideas-2009|GSoC project ideas]] and [[BeagleBoard/GSoC/Application|GSoc application]]<br />
* [[BeagleBoard/DSP_Clarification|Info about the various Linux DSP systems for OMAP chips]]<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 />
* [[BeagleBoard/bangalore_user_meet |BeagleBoard Bangalore User Meet]]<br />
* [[Zoom2Beginners|Zoom2 for Beginners]]<br />
* [http://wh1t3s.com/2009/05/11/beagleboard-as-usb-mass-storage-device-via-usb-otg/ BeagleBoard as USB Mass Storage Device via USB OTG]<br />
* [http://digitalsurveyinstruments.com/beagleperiphials/solarcomputer/index.htm BeagleBoard as solar powered computer]<br />
* [http://blog.makezine.com/archive/2009/02/blinking_leds_with_the_beagle_board.html Blinking LEDs with the Beagle Board] from Make:Online<br />
* [http://www.crashcourse.ca/wiki/index.php/BeagleBoard Robert's private Beagle wiki] (please don't add anything there, do it here. It will help to avoid scattering. Thanks!)<br />
* [http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/ Felipe's blog] about D1 MPEG-4 decoding using less than 15% of CPU with help of DSP<br />
* [http://www.syspire.de/node/3 Embedded Mediacenter] based on BeagleBoard (German)<br />
* [http://pandorawiki.org/Floating_Point_Optimization Floating Point Optimization] with VFP-lite and NEON intro<br />
* [http://particolarmente-urgentissimo.blogspot.com/2009/09/beagleboard-setting-date-via-gps.html Beagleboard setting date via GPS]<br />
* [http://free-electrons.com/blog/beagle-labs/ Complete embedded Linux training labs] on the BeageBoard<br />
* [[BeagleBoardPWM]] Details about PWM on the BeagleBoard.<br />
* [[BeagleBrick]] software defined radio project<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 />
* [http://www.youtube.com/watch?v=UHQdUS0i-nw Beagleboard, SGX, and libfreespace demo]<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 />
* OMAP 4430 based [[PandaBoard]]<br />
* OMAP-L138 Based [[Hawkboard]]<br />
* OMAP3530 based [http://www.armkits.com/Product/devkit8000.asp DevKit8000] development board from [http://www.armkits.com Embest]<br />
* OMAP3530 based [http://www.armkits.com/Product/sbc8100.asp SBC8100] Single Board Computer from [http://www.armkits.com Embest]<br />
* OMAP1 OMAP5912 (ARM9 + C5x DSP) based [[OSK|OSK]] board.<br />
* OMAP3 OMAP3430 based [https://gforge.ti.com/gf/project/omapzoom/wiki/?pagename=HardwareInformation Zoom MDK], which has been superseded by the [http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp Zoom II], and other [http://www.logicpd.com/products LogicPD kits].<br />
* OMAP3 OMAP3530 based [http://www.openpandora.org/ 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, with a [[MiniBoardFAQ|FAQ]]<br />
* OMAP3 based [http://www.ebv.com/en/products/categories/details/product/ebvbeagle-board EBVBeagle], a German BeagleBoard clone<br />
* OMAP3530 based [http://www.bsquare.com/products/hardware_solutions/3530.asp BSQUARE’s Dev Kit OMAP3530]<br />
* OMAP3530 based [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Hardware OSWALD]<br />
* OMAP3 BeagleBoard-based [http://www.alwaysinnovating.com/touchbook/ Touch Book]<br />
* OMAP3530 based [http://www.analogue-micro.com/Cobra3530.html Cobra 3530 OMAP3530 module ]<br />
* OMAP3 based [http://www.kwikbyte.com/KBOC.html KwikByte 35XX System Module]<br />
* OMAP3530 based [[DevKit8000]], a Chinese BeagleBoard clone, slightly larger with additional peripherals (e.g. LCD/TSP, Ethernet and keyboard)<br />
* OMAP3530 based [http://www.igep-platform.com/ IGEPv2 Platform], a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.<br />
* OMAP35x based [http://www.ultratronik.de/mmi-rechnerplattformen.html MMI4 from Ultratronik]<br />
* OMAP35x based [http://www.technexion.com/index.php/tao-3530 TAO-3530 from TechNexion], also sold in North America through [http://www.robotcraft.ca/webshop/index.php?manufacturers_id=21 Robotcraft Systems]<br />
* OMAP35x based [http://www.variscite.com/varomap35xxsbc.html VAR-OM35xxSBC from Variscite]<br />
* OMAP35x based [[EGS3530]],a Chinese BeagleBoard clone from [http://www.ema-tech.com EMA]<br />
* OMAP3 OMAP35x based [http://www.buglabs.net/products BUG] from Bug Labs, Inc.<br />
* OMAP35x System-on-Module [[SOM3530]],The smallest(40x40x4mm) OMAP35XX-based System on Module in the world! (It is not-Gumstix Overo is smaller. at 17mm*58mm)<br />
* OMAP35x based [http://www.compulab.co.il/t3530/html/t3530-cm-datasheet.htm CM-T3530 from CompuLab]<br />
<br />
=Subpages=<br />
<splist<br />
parent=<br />
showparent=no<br />
sort=desc<br />
sortby=title<br />
liststyle=ordered<br />
showpath=no<br />
kidsonly=no<br />
debug=0<br />
/></div>Nandcon