Embedded Linux Optimization Techniques – ELCE 2011

Benjamin Zores, Alcatel-Lucent, describes different optimization techniques (focusing on hardware choice and software architecture) that can be used to improve the performance of embedded linux at Embedded Linux Conference Europe 2011. Abstract: This presentation provides a series of techniques that can be used for Linux embedded systems fine-grain tuning and performances optimization. Embedded systems are, by definition, always limited in terms of resources while people keep on trying to use desktop-oriented software on top of it. This talk presents a series of tips that can be used to actually measure, find and isolate bottlenecks in your system, whether it is by complete system profiling or software architecture optimization. Focus is also made on the traditional caveats that need to be avoided for your system not to be slow by design. You can also download the presentation slides. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before […]

Energy Efficiency of ARM Architecture for Cloud Computing Applications

Following “Pandaboard Cloud Cluster Running Google App Engine” post, there were some questions regarding the actual power efficiency of ARM servers vs Intel (Xeon) servers and some commenters questioned the performance of ARM chips. I’ve found a thesis evaluating how the energy efficiency of the ARMv7 architecture based processors Cortex-A9 and Cortex-A8 compares – in applications such as a SIP Proxy and a web server (Apache2) – to Intel Xeon processors. The focus of this thesis is to compare the energy efficiency between the two architectures rather than pure performance where the Xeon largely outperforms ARM processors, although a cluster of ARM servers could be used instead to reach the same processing power. Depending on the application, benchmarks indicate energy efficiency of 3-11 times greater for the ARM Cortex-A9 in comparison to the Intel Xeon. The full thesis (74 pages) is available below. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in […]

Linaro Android Tutorial with the Pandaboard

Zach Pfeffer, the tech lead of the Linaro Android working group, gave a tutorial about Linaro Android at Linaro Connect Q4.11. During this tutorial, attendees were shown how to download a recent build for the pandaboard, how to make a bootable SD card image using the linaro-android-media-create command and how to boot the board with it. The full setup was composed of a Pandaboard connected to a HDMI monitor with a keyboard and mouse connected to the board as well as serial to USB cable to connect to the development machine. He also used an SD card reader to generate the bootable Android image. The images are available at Android Linaro Build Service. There are quite a few build named after the supported board (e..g panda for pandaboard, snowball for ST Ericsson Snowball etc..) and the kernel version (tracking = latest linaro kernel, staging = stable linaro  kernel). Then an […]

All You Need to Create a Beaglebone Clone

The Beagleboard community has released Beaglebone Rev 3 hardware design files so that other people can now modify the hardware and/or create a clone. Here are the files: Schematics (PDF) Schematics (Orcad) [update] Bill of materials Gerber files Allegro files (PCB layout) System Reference Manual [update] To open Allegro files, you’ll need to download Cadence Allegro FREE Viewer or purchase one of Cadence PCB Design software if you don’t have it yet. The schematics are only provided in PDF format for now, so you would be able to modify them unless you reproduce the PDF one. Since TI has now released the Orcad schematics you’d also be able to make a custom board by modifying the schematics. Please note that those files comes with the following disclaimer: These design materials are *NOT SUPPORTED* and DO NOT constitute a reference design. THERE IS NO WARRANTY FOR THE DESIGN MATERIALS, TO THE […]

Linaro 11.10 Release with Linux Kernel 3.1

Linaro has just released version 11.10 based on Linux Kernel 3.1. Here are the highlights of the release: Android Audio playback and recording works on LEB-panda. TJBench into all Android builds benchmarked against the original Android libjpeg implementation: TomGall/LibJpegTurbo All strict-aliasing violations in 2.3.5 have been fixed and sent to AOSP. (for build optimization) Linaro Gerrit is integrated with Android Build Service for change verification as part of Continuous Integration effort. Tip toolchain tracked and released against all targets for 11.10. iMX53 will now boot with a 3.0 or later Android Kernel. The multimedia test application has been extended to cover encoding and give better benchmark results. Linaro’s Android distribution can now base builds off a tip toolchain build. Linaro’s 11.09 toolchain has been benchmarked. USB camera (UVC) now works on linaro-android builds. Developer Platform The Linux Linaro packages are now generated and validated in a continuous integration loop. New […]

Xibo Digital Signage on ARM (Full Version)

Last month, I wrote a post showing how to run Xibo Open Source Digital Signage in a BeagleBoard/Overo emulator. That version could communicate with Xibo server, download the required files, display pictures and (maybe) play videos with the real hardware. However, it had serious limitation as Text, RSS and web pages could not be displayed. I’ve now fixed those issues and the full Xibo 1.3.1 can run on ARM platform. First, you need to follow the instructions given in Xibo Digital Signage on ARM (Beagleboard / Overo), although we’ll need to modify something with libavg compilation (see below). Then cross-compile berkelium for ARM using Linaro toolchain. Add libbrowser-node to libavg plugin directory and build libavg again. Also copy the Berkelium header files in to src/test/plugin (i.e. src/test/plugin/berkelium) or add the include file path to CFLAGS/CXXFLAGS.

Create libberkeliumwrapper.so:

Copy the required files to the qemu image: sudo mount -o […]

Pandaboard Cloud Cluster Running Google App Engine

Noritsuna Imamura showed an ARM cloud cluster built with 6 Pandaboards at  Linaro Connect Q4.11. Noritsuna is a member of the Open Embedded Software Foundation (OESF), a Japanese organization that support Open Source embedded software. The cluster is made of 6 panda boards with a total 6 GB of RAM (1GB per board) that runs the Google App Engine (http://code.google.com/appengine/) in Ubuntu/Linaro 11.09 release. The middleware used is TyphoonAE, a full-featured and productive serving environment to run Google App Engine (Python) applications. This type of server hosts web applications such as Rietveld (used in the demo below) to be run on (thin) clients. There are also plenty of other software (required by Google App Engine) that runs in this ARM cloud such as MySQL, Apache2, memcached and more. In the video, a power meter shows that the cluster consumes about 35 W in low activity mode. Norisuna had a comparison […]

Epiq Solutions Matchstiq: World’s smallest Software Defined Radio

Epiq Solutions recently announced the Matchstiq, a software defined radio (SDR) combining a broadband RF transceiver with CPU (TI DM3730)/FPGA (Xilinx Spartan-6) processing running Linux 2.6.35. The device offers a complete stand-alone software-defined radio solution with  flexibility at a fraction of the size/weight/power consumption of similar products. Epiq Solutions also provides a library of ready-to-run specialty software applications that allows the Matchstiq platform to be immediately used to solve challenging signal processing requirements. The device can be deployed as stand-alone device in unmanned aerial vehicle (UAV), as a wireless interface to an (Android) host via Bluetooth or Wi-Fi or as wired interface to a PC via USB. The key features include: Integrated CPU (TI DM3730) /FPGA (Xilinx Spartan-6) for signal processing applications Single RF transceiver covering 300 MHz to 3.8 GHz Supports RF channel bandwidths up to 28 MHz Integrated GPS receiver with 1PPS Run-time loadable/executable software applications Full suite of specialty […]

UP 7000 x86 SBC