Beagleboard and Friends Nathan Gough
Hardware – OMAP3 Based around Texas Instruments OMAP3530 “Applications Processor” OMAP3 Platform: Arm Cortex-A8 600MHz, superscalar. NEON multimedia instruction set Paired with a C64x+ DSP core VLIW core. 6 ALUs, single 32 bit arithmetic per clock cycle Two multipliers supporting 4 16x16 bit multiply per instruction cycle
Hardware – OMAP3 POWERVR SGX Graphics Accelerator 10M Polygon/sec Tile based processor Multithreaded shader engine: Pixel and vertex Supports OpenGLES 1.1 and 2.0, OpenVG1.0
Beagleboard – Rev. C
Hardware - Beagleboard OMAP3530 forms the core of the board. Uses Package on Package stacking of memory on top of OMAP Memory: 256MB NAND, 256MB DDR SDRAM Interfaces: DVI-D (via HDMI connector), JTAG, RS232, USB2 OTG Stereo In, Stereo Out, S-Video, USB2 Host Expansion Header: I2C, I2S, SPI, MMC/SD Can be USB bus powered or take DC power
Using the Beagleboard Booting: NAND -> USB-> UART -> MMC Or USB -> UART -> MMC -> NAND (changed by pushing USER button on board) Uses U-Boot (Universal Bootloader) Provides a simple CLI to manipulate hardware prior to booting a kernel MMC/SD is the only way to bring up a new board. Also used to recover from bad NAND writes Boot output appears on UART3
Beagleboard - Software Distributions you can use: Angstrom (what I’ve used) Ubuntu Android (Google’s open source software stack for mobile devices) + about a million other embedded linux distros. Applications: Ffmpeg (compiled with NEON optimisations) Omapfbplay (uses OMAP framebuffer; can do 720p decoding) Anything you can build…
Developing for Beagleboard Openembedded (OE): Provides an easy to use build environment Collection of metadata about software packages Uses bitbake “recipes” to build software Collections of recipes form images eg “x11-image, console- image” Other options: Use the Android SDK Build your own toolchain Start from a ready made image
Links Elinux.org/beagleboard (user wiki <- best source of information)