We don’t want to just make more things. We want to enable individuals to make the things that dominate their lives, rather than leaving it up to someone else. Google Summer of Code with BeagleBoard.org is a great way to learn skills highly in demand while making a difference in the world.
How to build an embedded system?
An embedded system is built using a computer dedicated to a specific purpose, like a toaster, coffee machine, dish washer, thermostat or anti-lock brakes. You can think of an embedded system as a computer designed to not look like a computer and to automate things in the physical world. The BeagleBoard.org community is loaded with experts on building open source embedded systems, join our forum to connect.
Summary: 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:
Motor control using PWM signals generated by the BeagleBoard using the PWM driver.
Writing a glue layer for ALSA to communicate with the PWM driver and output sound from the PWM output pins.
Summary: 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.
Contributor: Pramod Poudel
Mentors: David Anders, Andrew Bradford, Matt Porter, Luis Gustavo Lira
Summary: 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).
Contributor: Tobias Arrskog
Mentors: Mike Zucchi, Mans Rullgard, Søren Steen Christensen
Summary: 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.
Contributor: Yaman Umuroglu
Mentors: Katie Roberts-Hoffman, Laine Walker-Avina, Frank Walzer
Summary: 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;
possibly lower-level debugging of USB frames.
Contributor: Nicolas Boichat
Mentors: Hunyue Yau, Laine Walker-Avina, Frans Meulenbroeks
Summary: This work presents advancements in the FFTW library, incorporating NEON instruction set support for ARM architectures within an extended SIMD interface. Further enhancements include the integration of a performance counter into the FFTW planner, enabling precise measurement of execution times for algorithmic selection. Optimized code for accelerated Fourier transforms contributes to demonstrable speedups, illustrated through visual presentations using GNU Octave. The amalgamationof these improvements establishes a more efficient and performance-driven FFTW library, showcasing the tangible benefits of SIMDextensions, performance counters, and code optimization