Difference between revisions of "BeagleBoard"
(→Events) |
(→Events) |
||
| Line 19: | Line 19: | ||
<br> | <br> | ||
=Events= | =Events= | ||
| − | | Event | + | {| Event ! Location ! Date |- |
| − | | [http://makerfaire.com/newyork/2012/index.html Maker Faire New York 2012] | New York Hall of Science, Queens, NY | Sept. 29 & 30, 2012 | | + | | [http://makerfaire.com/newyork/2012/index.html Maker Faire New York 2012] | New York Hall of Science, Queens, NY | Sept. 29 & 30, 2012 |} |
=Hardware= | =Hardware= | ||
Revision as of 03:50, 28 July 2012
This page collects information about BeagleBoard.org's open hardware embedded computer boards based on TI's ARM processors. Most of this material is applicable to the BeagleBoard and BeagleBoard-xM. See the BeagleBone page for information on that board.
NEWS:
- Zippy2 are now discontinued.
- Trainer Boards are now discontinued
- Zippy Boards are now discontinued.
- Limited numbers of Pixel-Qi lcd kits and lvds kits are now available from TinCanTools
- BeadaFrame 7" LCD display kits for Beagleboard and Beaglebone are available now!
- 10" LCD LVDS plug-and-play bundle with capacitance touchscreen and ambient light sensor is available in stock now!
- LVDS LCD add-on board LVDS LCD has been released and is available for order
- An OLED touchscreen module "BeagleTouch" and lithium battery module "BeagleJuice" are now available from Liquidware
Contents |
Events
New York Hall of Science, Queens, NY | Sept. 29 & 30, 2012 |}
HardwareThe 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 beagleboard.org). It uses a TI OMAP3530 processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an Imagination SGX 2D/3D graphics processor). See OMAP3530 features for more processor features. Price is USD 149. The design goal was to make it as simple and cheap as possible, e.g. not having a LCD added, but letting you connect all add-ons available as cheap external components. See What is Beagle? and LinuxDevices article for more details. The videos Beagle Board Beginnings and Beagle Board 3D, Angstrom, and Ubuntu give you a good intro about what BeagleBoard is about and its capabilities. Components
Bottom of rev B: See jadonk's photostream for some more detailed BeagleBoard pictures. ManualSee BeagleBoard System Reference Manual (rev. C3.0). SchematicSchematic of BeagleBoard Rev. C3 is available as part of BeagleBoard System Reference Manual (rev. C3.0). Rev C3 and previous are also available from BeagleBoard.org design page including in PDF format. Please make sure that you read, understand and agree Jason's mail before using this. LayoutLayout of BeagleBoard Rev. C3 is available as part of BeagleBoard System Reference Manual (rev. C3.0). Rev C3 and previous layouts are also available from the BeagleBoard.org design page. Please make sure that you read, understand and agree Jason's mail before using this. Errata
For additional (software) issues and enhancement requests see Beagle board open point list & issue tracker, too. Note: BeagleBoard revision B6 uses different package for U9/U11. ClockingSome notes about (ARM processor) clock rates at BeagleBoard:
To set CPU clock to 600 MHz, there are two options. Both do not adjust the voltage, so the system may become unstable:
Power management
Without PM kernel, the Beagle consumes ~1.5 watts idle, however it also uses the same amount under load (see bottom of that page). DLP Pico projectorTexas 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 mailing list and Beagle Running Angstrom (VGA) on DLP Pico Projector for more details. It is available from DigiKey for $349. See article from Make, too. DigiKey videos part 1, part 2 and part 3. Interfacing to Raw LCD PanelsCurrently 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:
AvailabilityBeagleBoard Rev. C3 boards are available from
BeagleBoard Rev. C4 boards are available from: Note: For non-US Digi-Key free shipping orders:
When ordering over 65 EUR / GBP 50 product (BeagleBoard is above), for Europe the price depends on the actual dollar to EUR/GBP rate. On nov 9, 2008 the price was EUR 124 with free shipping. Note: Some users report that they got some questions from DigiKey to be answered before board shipping is done. Note: While you get free shipping, most probably you have to pay tax 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. Note: For European users, EBV Elektronik sells its own blue version of the board for 179 EUR, which includes all useful accessories (DVI cable, serial cable, USB 2.0 Ethernet, USB hub, 2 GB MMC, power supply, Linux BSP). Note: German (Europe) users can order through German shops, too. For higher price, though.
See below for hardware differences of the revisions. There are no software differences. Revision AThere are some limited early revision Ax prototypes out there used by some hackers hanging around at #beagle channel on irc.freenode.net. See errata for limitations. Revision BRevision B is same as revision A, except
Still has USB HOST (EHCI) failures. USB HOST (EHCI) connector isn't mounted. There are 4 revisions of the B board in the field: B4, B5, B6 and B7. The most notable difference is the use of the ES3.0 silicon in B6 and B7, other changes are not relevant to software developers. Revision C2Revision C2 is same as revision B7 except:
Note: Revision C2 is the first production version, and all orders from from Digi-Key are shipped as Rev C2. Revision C3As revision C2 boards are sold out, revision C3 will ship now. Revision C3 is same as revision C2 except:
Revision C4Revision C4 boards are the same as Revision C3 except:
ClonesEBVBeagleEBV build and sell their own BeagleBoard called EBVBeagle, see e.g. [2]. It is actually a BeagleBoard revision C2 with green PCB boxed with some useful accessories. It comes as a quite complete starter kit with AC adapter, USB to Ethernet adapter, MMC card, USB hub and some cables. More information in official press release. Mini BoardICETEK-OMAP3530-Mini is a chinese BeagleBoard clone. DevKit8000DevKit8000 is from Embest, China. It is a compact development board based on TI OMAP3530. DevKit8500DDevKit8500D is from Embest, China. It is a high-performance development board based on TI DM3730. SBC8530SBC8530 is from Embest, China. It is a compact single board computer based on TI DM3730 and features UART, 4 USB Host, USB OTG, Ethernet, Audio, TF, WiFi/Bluetooth, LCD/VGA, DVI-D and S-Video. Tianyeit CIP312CIP312 is from Tianyeit, China. It is has many functions ,such as WLAN/BT/ dual 10/100M Ethernet Contoller-LAN9221I/MCP2512 CAN BUS/ Touch Screen Controller/USB HUB/USB host/USB OTG Etc. Our module is base on DM3730/omap3530 all functions are packaged in 40x40x3.5mm Package ; For detail information please visit our website File:Http://www.tianyeit.com/download/cip312.jpg IGEPv2IGEPv2 Platform is a Spanish BeagleBoard clone, slightly larger, with additional peripherals like e.g. ethernet connector, wifi+bluetooth.
SOM3530SOM3530 is a chinese BeagleBoard clone System-on-Module,Dimension 40x40x4mm, Maybe the smallest OMAP3530-based modules in the world! Including 100M high perfomance ethernet I/F BeagleBoard-based productsBeagle caseAdaptersFor quite detailed information about all BeagleBoard peripherals see BeagleBoard HW Reference Manual (rev. B6). See BeagleBoard peripherals and adapters page for useful add ons for Beagle Board. Expansion boardsSee Category:BeagleBoard_Expansion_Boards for more information about expansion boards BeadaFrame - A 7" TFT LCD Screen with resistive touch for BeagleBoard and BeagleBone. A plastic(ABS) frame is included also for ease of mounting. LVDS LCD - small add-on board to connect any LVDS LCD panel (like those in notebooks) to BeagleBoard (-xM) and PandaBoard. Also, they offer plug-and-play bundle with 10" 1024x600 LCD with capacitance touchscreen and ambient light sensor for automatic brightness control. Board is open-source. BeagleTouch - A modular "shield" that snaps on top of the Beagle Board and provides a touch-screen OLED interface BeagleJuice - A lithium ion battery module that snaps on the back of the Beagle Board that powers the Beagle Board. LOX - A dual channel internet linking radio (Ham, GMRS, etc) interface that can run any combination of 2 repeaters, simplex nodes, or remote bases. JTAGDepending on your JTAG tool, you'd need a 14-pin to 20-pin adapter to use an ARM debugger. The 14-pin TI JTAG connector is used on BeagleBoard and is supported by a large number of JTAG emulation products. See BeagleBoardJTAG for more information. RS232The pinout on the beagle board is "AT/Everex" or "IDC10". You can buy IDC10 to DB9M adapters in many places as they are commonly used for old PCs. Depending on your local configuration, you may need a 9-Pin NullModem cable to connect BeagleBoard to serial port of your PC. From TinCanTools there is a RS-232 DB-9 adapter and adapter schematic available. You can also probably rip one of those cables out of any old desktop computer, where it's being used to support the serial port. Be careful, though -- some of those cables will have that tenth hole filled in so you'd have to snap off the extraneous pin on your BeagleBoard. Keep looking until you find a cable with all 10 holes open. Depending on your local configuration, you may need a 9-Pin NullModem cable to connect BeagleBoard to serial port of your PC. From TinCanTools there is a RS-232 DB-9 adapter and adapter schematic available. USB-to-Serial ConverterSince 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. USBThere 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. EHCIThe HS (HighSpeed) USB ECHI controller on OMAP3 on BeagleBoard supports high-speed only. This simplifies the logic on the device. FS/LS (FullSpeed/LowSpeed) devices, such as keyboards and mice, require going through a high-speed USB 2.0 hub. According to the BeagleBoard System Reference Manual Rev C2, the EHCI port can source 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.] 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 [4] for more information. OTGThe HS USB OTG (OnTheGo) controller on OMAP3 on the BeagleBoard does have support for all the USB 2.0 speeds (LS/FS/HS) and can act as either a host or a gadget/device. The HS USB OTG port is used as the default power input for the BeagleBoard. It is possible to boot the BeagleBoard using this USB port. When using the OTG port in host mode, you must power the BeagleBoard using the +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. The Linux kernel needs to know you want to use the OTG port in host mode. I believe OTG ports are supposed to figure this out for themselves using the OTG Host Negotiation Protocol, but for now the Linux kernel may need some help. Specifically, Pin 4 (ID) of the OTG connector needs to be shorted to Pin 5 (GND) by using a 5-pin USB Mini-A plug which shorts these pins together in the plug. A 5-pin USB Mini-B plug leaves Pin 4 floating. Unfortunately, most USB Mini plugs are unmarked as to whether they are "A" or "B". You can find "mini A" adapters that have Pin 4 shorted and offer out a full-sized USB A Female jack here. The Rev C BeagleBoard has a pair of pads labeled J6 on the back of the board under the OTG connector. Shorting these pads together with a wire or solder blob connects pins 4 and 5. See Figure 20 in the BeagleBoard System Reference Manual Rev C2.2. DVIDVI-D connection on BeagleBoard uses an HDMI connector: HDMI is backward-compatible with the single-link Digital Visual Interface carrying digital video (DVI-D or DVI-I, but not DVI-A) used on modern computer monitors and graphics cards. This means that a DVI-D source can drive a HDMI monitor, or vice versa, by means of a suitable adapter or cable, but the audio and remote control features of HDMI will not be available. BeagleBoard can be connected to a DVI monitor using an HDMI male to DVI male cable. The BeagleBoard does not connect the HDMI shell to ground or any other BeagleBoard signal. This is not a problem with high-quality HDMI to DVI cables that connect all the ground wires. However, there are lots of cheap HDMI to HDMI cables that do not connect the ground wires and only use the shell as a combined shield and ground. To use one of these you would need to connect the BeagleBoard's HDMI shell to ground. The BeagleBoard-xM connects the HDMI shell to frame ground, which is in turn connected to system ground through R119. For more information, see this thread: [5]. Arduino
BootRomOMAP3 on BeagleBoard contains a BootRom. With this, BeagleBoard can boot without any code in permanent storage (NAND) or from peripherals. This is useful for first board bring up or if your BeagleBoard is bricked. For more information about BootRom booting see the Initialization chapter of SPRUF98. User buttonWith 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):
Technically speaking, the user button configures pin SYS.BOOT[5]. See the Initialization chapter of SPRUF98 for more details. Serial and USB bootHistorically, using OMAP3's boot ROM for serial and USB boot, there are several tools around. The newest are Nishanth' OMAP U-Boot Utils, while there are still some older tools for serial boot and USB boot. It is also possible to access the u-boot env from linux. OMAP U-Boot UtilsNishanth' OMAP U-Boot Utils provide
See Nishanth' blog and announce mail, too. Serial bootBesides Nishanth' OMAP U-Boot Utils, to boot from USB or UART, you need a PC tool which talks with OMAP BootRom and speaks the correct protocol to download ARM target code to BeagleBoard. Currently there is one tool for UART boot:
See USB and serial download target code for some example target code to be downloaded to OMAP3 on BeagleBoard. USB bootThere is a patch to x-loader to allow it to do a USB boot. It can boot all the way to a Linux login. It's is used with a new version of omap3_usbload Besides Nishanth' OMAP U-Boot Utils, for USB boot, there is currently one (experimental) tool to boot BeagleBoard over USB: See USB and serial download target code for some example target code to be downloaded to OMAP3 on BeagleBoard. See USB recovery section how to use USB boot for board recovery. NAND bootSee NAND boot article. MMC/SD bootCurrently, boot the BeagleBoard with MMC/SD is the only working way for first board bring up. MMC/SD formattingAs described in above MMC/SD boot description, you have to create a bootable partition on MMC/SD Card. This can be done using e.g. Windows or Linux tools. Windows See HP USB Disk Storage Format Tool 2.0.6 description on boot the BeagleBoard with MMC/SD page. You can download this tool from here. Make sure the version is 2.0.6; newer versions may not work. Linux Please see OMAP3 MMC Boot Format. Dual partition cardYou can create a dual-partition card, booting from a FAT partition that can be read by the OMAP3 ROM bootloader and Windows, then utilizing an ext2 partition for the Linux root file system. To mount second ext2 partition as root file system (e.g. containing contents of rd-ext2.bin) use kernel boot arguments (e.g. in uboot using setenv bootargs): console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait U-Boot bootingIf your MMC/SD card formatting is correct and you put MLO, u-boot.bin and uImage on the card you should get a u-boot prompt after booting beagle board. E.g. (output from terminal program with 115200 8N1): ...40T.........XH.H.U�..Instruments X-Loader 1.41 Starting on with MMC Reading boot sector 717948 Bytes Read from MMC Starting OS Bootloader from MMC... U-Boot 1.1.4 (Apr 2 2008 - 13:42:13) OMAP3430-GP rev 2, CPU-OPP2 L3-133MHz TI 3430Beagle 2.0 Version + mDDR (Boot ONND) DRAM: 128 MB Flash: 0 kB NAND:256 MiB In: serial Out: serial Err: serial Audio Tone on Speakers ... complete OMAP3 beagleboard.org # Using this u-boot prompt, you now can start kernel uImage stored on MMC card manually: OMAP3 beagleboard.org # mmc init OMAP3 beagleboard.org # fatload mmc 0:1 0x80000000 uimage OMAP3 beagleboard.org # bootm If you like to make that happen every boot: OMAP3 beagleboard.org # set bootcmd 'mmc init ; fatload mmc 0:1 0x80000000 uimage ; bootm' ; saveenv Note: saveenv will not work on the xM. You will need to create a boot.scr file in the FAT partition for the xM. See set up u-boot Barebox bootingYou can also use barebox to boot. On barebox you will have to generate it two time. The First time as a x-loader via defconfig: omap3530_beagle_xload_defconfig the Second time as the real boot loader omap3530_beagle_defconfig CodeCode and binaries for BeagleBoard are available at various places. BinariesBeagleBoard pre-built binaries and source code can be found at Beagle source code and 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. Actually, 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 www.angstrom-distribution.org/demo/beagleboard directory should contain all the files you need: See the beagle wiki on how to setup your SD card to use all this goodness. SourceUpdate 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/. The U-Boot version found in that repository supersedes the one found at http://gitorious.org/beagleboard-default-u-boot/beagle_uboot_revc4/. 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. Besides above binary and source images (TI's and communities one), for various parts of Beagle software stack there are community supported git repositories available. X-LoaderSteve did some work to consolidate and update X-Loader from various sources and put it in a X-Loader git repository. Get it by git clone git://gitorious.org/x-loader/x-loader.git xloader cd xloader/ Build: make distclean make omap3530beagle_config make Result will be a ~20k sized MLO in the main directory. This is the signed x-loader and is ready for use. U-BootMainline U-Boot has good support for BeagleBoard (except for revision C4; see note below). Get it by: git clone git://git.denx.de/u-boot.git u-boot-main cd u-boot-main git checkout --track -b omap3 origin/master Build (assuming Code Sourcery GCC): make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config make CROSS_COMPILE=arm-none-linux-gnueabi- Result will be a ~160k sized u-boot.bin in main directory. Note: Due to (patch and binary) size, BeagleBoard splash screen was removed from upstream version. If you want it back, use U-Boot v1 BeagleBoard splash screen patch. Note: For experimental U-Boot patches not ready for mainline yet, Steve's Beagle U-Boot git repository is used to test them. Get it by: git clone git://gitorious.org/u-boot-omap3/mainline.git u-boot-omap3 cd u-boot-omap3 git checkout --track -b omap3-dev origin/omap3-dev 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 ARM OMAP2/3 Display Subsystem
MUX_VAL(CP(I2C2_SCL), (IEN | PTU | EN | M4)) /*GPIO_168*/ MUX_VAL(CP(I2C2_SDA), (IEN | PTU | EN | M4)) /*GPIO_183*/ to MUX_VAL(CP(I2C2_SCL), (IEN | PTU | DIS | M0)) /*I2C2_SCL*/ MUX_VAL(CP(I2C2_SDA), (IEN | PTU | DIS | M0)) /*I2C2_SDA*/ Linux kernelGit repository of OMAP Linux kernel contains Beagle support. Get it by: git clone git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git linux-omap cd linux-omap Build: make distclean make ARCH=arm omap2plus_defconfig make ARCH=arm menuconfig # only needed if you want to change the default configuration make ARCH=arm uImage The result will be a uImage in arch/arm/boot/ directory. Note: The following does not work. There is no defconfig "omap3_beagle_defconfig" nor any omap3 in the tree. If you use the OE toolchain and want to build outside of the OE tree you should do ARCH=arm export ARCH PATH=~/oe/tmp/cross/armv7a/bin:~/oe/tmp/staging/i686-linux/usr/bin:$PATH # add cross tools to your path make CROSS_COMPILE=arm-angstrom-linux-gnueabi- distclean make CROSS_COMPILE=arm-angstrom-linux-gnueabi- omap3_beagle_defconfig make CROSS_COMPILE=arm-angstrom-linux-gnueabi- menuconfig # only needed if you want to change the default configuration make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage Note: the staging dir in the path is for mkimage. If you've built a kernel before with oe, the program should be there Note: If you are interested in kernel development have a look to manually compiling BeagleBoard kernel, too. Experimental kernel patches and hacksSome beagle developers maintain their own kernel experimental patches and hacks not ready for upstream:
CompilerTI OMAP3530 processor on BeagleBoard contains an ARM Cortex-A8 general purpose processor and a TMS320C64x+ DSP. ARMThere is broad compiler support including gcc - please see ARM Compilers C64x+ DSPA free C64x DSP compiler is available as Linux hosted C6x Code Generation Tools (TMS320C6000 C/C++ CODE GENERATION TOOLS 6.1.3 July 2008). Note: my.TI account required. You may create an account here Note: Old c6000 Linux compiler available on TI FTP site. Does NOT support c64x+ core in OMAP3 devices. Not recommended. You can also utilize the 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. See BeagleBoard DSP howto for information about how to use the DSP. Cortex A8 ARM featuresARM 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. It includes a floating point unit (ARM VFPv3 architecture) and the ARM NEON SIMD instruction set. See Floating Point Optimization article for an intro into VFP-lite and NEON. ARM NEONNEON 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:
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. The NEON instruction set is documented in ARM's RealView Compilation Tools Assembler Guide. For NEON optimized libraries see 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 EULA. NEON is used by various opensource projects:
Compilation tools support for NEON:
ARM Cortex-A8 Floating PointThere are two types of instructions in the ARM v7 ISA that handle floating point: 1) VFPv3 Floating point instruction set (used for single/double precision scalar operations). 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. 2) NEON NEON vectorized single precision operations (2 values in a D-register, or 4 values in a Q-register) 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. ARM Cortex-A processors have separate floating point pipelines that handle these different instructions. 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. 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:
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. Board recoveryIf you played e.g. with the contents of the NAND, it might happen that the Board doesn't boot any more (without pressing user button) due to broken NAND content. See BeagleBoard recovery article how to fix this. Do not panic and think you somehow 'bricked' the board unless you did apply 12V to it. Development environmentsInstead 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. OpenEmbeddedFor OpenEmbedded (OE), there are some hints how to start with OE for BeagleBoard. See BeagleBoard and OpenEmbedded Git,OpenEmbedded development and OpenEmbedded getting started as well. 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. Note: Koen has some 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. One very important note: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:
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. EclipseThe Eclipse C Development Tools Project provides a "fully functional C and C++ Integrated Development Environment (IDE) for the Eclipse platform". The Eclipse 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 Target Communications Framework (TCF) component. Info on how RSE is used for e.g. Gumstix development is described in this post. See also Using Eclipse with Beagle (for JTAG debugging) AndroidAndroid platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written using the Java programming language and run on Dalvik, a custom virtual machine designed for embedded use which runs on top of a Linux kernel. There are several resources for Android on OMAP (Beagle) available: OMAPZOOM You can find Android port for OMAP ZOOM architecture on OMAPZoom.org's wiki page on Android. EMBINUX Beagleboard.org's Android project page announced, the successful porting of Android on Beagle board by EMBINUX™ Team. The source code and binaries are available for download and review. Detailed instructions, for porting Android on Beagle Board, are available here. Current release supports input devices (keyboard/mouse), network and sound. You can watch Android booting on Beagle Board. Android on OMAP wiki Wiki page for Andorid on OMAP can be found here 0xdroid 0xdroid, the enhanced version of Android on Beagleboard by 0xlab. The source code, pre-built binaries, and issue tracker are available for review and reference. 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 Google Code wiki. You can watch 0xdroid demo video on Beagle Board: * 0xdroid demo video (1) * 0xdroid demo video (2) * 0xdroid demo video (3) MamonaMamona 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 Maemo using only free and open source components. Mamona 0.2 supports OMAP3430 Software Development Platform (SDP), so you can also use it at Beagle (OMAP3530), too. Work is being done to officially support Beagle. UbuntuSee Ubuntu (ARM) installation guide how to install Ubuntu (ARM) on BeagleBoard.
Debian ARMSee Debian (ARM) installation guide how to install Debian (ARM) on BeagleBoard. GeeXboX ARMSee GeeXboX (ARM) installation guide how to install GeeXboX on BeagleBoard (including clones). ScratchboxScratchbox 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 Felipe's Scratbox 1 and 2 intro, too. Software hintsThis section collects hints, tips & tricks for various software components running on beagle. QEMUQEMU supports OMAP3 being able to boot a BeagleBoard Linux kernel. Linux hintsSee BeagleBoard Google wiki Linux hints page (for Linux WTBU (Wireless TI Business Unit) kernel 2.6.22). Currently featuring:
lmbenchAvik posted a detailed step-by-step procedure to run lmbench on Beagle. Mediaplayer (FFmpeg)There is a thread how to get a mediaplayer with NEON optimization (FFmpeg) to run on Beagle. Includes compiler hints and patches. JavaWhen using the OpenEmbedded-based Angstrom image you have the following options of Java support:
Java support in OpenEmbedded/Angstrom (details) is provided voluntarily through Jalimo. See a post at mailing list, too. OpenEmbedded users can add the 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. The recipes offer the following functionality:
Edward Nevill from ARM Ltd. is working on interpreter optimization in Zero for ARM. People interested in getting this stuff working better should contact people on: You should also check out IcedTea's FAQ. Booting Android (TI_Android_DevKit) from USB stickPlease note
Procedure
Graphics acceleratorOMAP3530 used on BeagleBoard contains a graphics accelerator (SGX) based on the SGX core from Imagination Technologies. 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 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. Tutorial: Some videos:
Beginners guideYou just got your new BeagleBoard, and now? See beginners guides. FAQFor BeagleBoard frequently asked questions (FAQ) see community FAQ and "official" BeagleBoard.org FAQ. LinksHome pagebeagleboard.org (beagle board home)
Manuals and resources
Contact and communication
TI resources
Articles
BooksBeagle based training materialsPast Beagle events
Beagle wiki pages
Beagle photos
Beagle videos
Beagle manufacturing
Other OMAP boards
SubpagesPage "BeagleBoard" has no subpages to list.
|



