Nathan Gough
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
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
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
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
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…
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, consoleimage”
Other options:
Use the Android SDK
Build your own toolchain
Start from a ready made image
www.beagleboard.org
Elinux.org/beagleboard (user wiki <- best source of information) http://www.angstrom-distribution.org/ http://wiki.openembedded.net/index.php/Main_Page http://focus.ti.com/docs/prod/folders/print/omap3530.html