GSoC/GCI Archive
Google Summer of Code 2010

BeagleBoard.org

Web Page: http://tinyurl.com/bbgsoc

Mailing List: beagleboard@googlegroups.com

BeagleBoard.org is a volunteer community behind building powerful, open, and embedded devices based on the OMAP3530. The vision is to enable much lower-power and lower-cost computing platforms that can be embedded into designs with confined spaces, limited batteries, and innovative user interfaces (web browsers available in every situation). The design is "open source hardware" with all of the schematic, bill-of-materials, layout, etc. shared for building other devices. The software is open source software generated by the community, such as the Angstrom Distribution, Ubuntu, Android and other Linux distributions. Compiler tools are free and the board is available at a low cost. Texas Instruments sponsors some BeagleBoard.org related activities and the first members of the community were TI employees, but the collaboration base is now over 2,500 members on the mailing list, well over 10,000 individual developers having purchased development hardware around the world, and the IRC channel typically has over 150 developers on-line at any given time. Existing projects include several Android builds, Ubuntu, Angstrom, Gentoo, FFmpeg, MythTV, and much more (over 100 projects registered at http://beagleboard.org/project).

Projects

  • High level interface to exploit the Pulse Width Modulation abilities of the BeagleBoard The main aim of this project will be to provide a high level interface for the Pulse Width Modulation output pins of the OMAP3 found on the BeagleBoard. Another aim will be to push this driver upstream(the Linux-OMAP tree). Two applications will be developed to demonstrate the use of this driver: 1) Motor control using PWM signals generated by the BeagleBoard using the PWM driver. 2) Writing a glue layer for ALSA to communicate with the PWM driver and output sound from the PWM output pins.
  • NEON Support for FFTW This project will add NEON SIMD co-processor support for FFTW on the BeagleBoard with particular interest in improved support for GNU Radio and GNU Octave. FFTW is widely used in the open source community and this project would make FFTW far more useful on processors with NEON instructions (e.g. OMAP3, i.MX). An additional task, specific to OMAP3, is to leverage the C64x+ DSP for double-precision floating-point support for FFTW.
  • OpenCV DSP Acceleration Use of optimized computer vision algorithm is vital to meet real-time requirements especially on popular mobile platform like BeagleBoard. OpenCV is one of the widely used computer vision library today. When designing application based on OpenCV on platform like BeagleBoard, it is desired that it could give real time performance. One way to achive this is by using on-chip DSP to accelerate OpenCV algorithms. This could also eventually boost the use of open-embedded platform like BeagleBoard.
  • Optimizing rendering of XBMC and aiding the port to ARM XBMC, an award winning media center software, have recently been ported to ARM by mcgeagh, however its still very unusable due to slow rendering of the GUI. I would like to get a chance and really refactor parts of the GUI framework and optimize and alter alot of the rendering done in XBMC core to lighten the GPU / CPU load. If succeded this would make XBMC useable on slower hardware (beagleboard).
  • RPC-like POSIX wrappers for DSPEasy The OMAP3530 DSP core is quite powerful but not easy to prototype algorithms on, since there is no standard I/O functionality available directly. The project will allow developers to use familiar POSIX functionality such as terminal output/input and file access and compile their code with ease, enabling them to focus on building and optimizing their DSP algorithm instead of dealing with the details of interprocessor communications.
  • USB sniffer on Beagle Board The goal of this project is to use the BeagleBoard as an USB sniffer. The host computer would be connected to the slave USB port of the BeagleBoard, and the device to be sniffed on the host USB port. The BeagleBoard would then forward USB data, while logging it. This presents the following advantages over a software-based solution: No software modification is required; support of proprietary OSes; allows debugging of new USB stacks; and possibly lower-level debugging of USB frames...