Cross-compiling libavg 1.7 for ARM on Debian

libavg is a high-level development platform for media-centric applications using Python as scripting language and written in C++ and I’ve already written a post to cross-compile libavg 1.6 in Ubuntu (with linaro cross toolchain) and using Beagleboard qemu image. Since I’ve doing some preparation work to have software running on the Raspberry Pi and that the latter won’t support Ubuntu, I’ve had to cross-compile it again. This time, I’ve found a cleaner way to do the cross-compilation with dpkg-cross and xapt tools which can load the required armel package to the arm toolchain. Those tools really make life easy, as previously (a few years ago), I would have had to cross-compile all dependencies manually. Here are the steps I followed: Install Emdebian ARM Cross Toolchain and Tools in Debian. Download libavg 1.7 source code

Extract it

Install the following armel development packages: sudo /usr/share/pdebuild-cross/xapt -a armel libpango1.0-dev libavformat-dev […]

Ubuntu TV Works on OMAP4 Pandaboard

Ricardo Salveti, Software Engineer at Canonical,  has written a blog post saying that Ubuntu TV now support full video hardware acceleration on the Pandaboard, TI OMAP 4 low cost development board. A demo of Ubuntu TV on the ARM platform with Ubuntu TV UI and 720p/1080p video playback can be seen in the video below. Pandaboard is the first ARM platform that can fully run Ubuntu TV. If you have a Pandaboard, you can try it out by installing the packages available at Linaro’s Overlay PPA. Qt and Qtmobility are not there yet (Patches are available at https://github.com/robclark/qtmobility-1.1.0), but he said they would be soon. The source code for Ubuntu TV is available at https://code.launchpad.net/~s-team/ubuntutv/trunk   Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. […]

Installing Emdebian ARM Cross Toolchain in Debian

I had previously installed Sourcery G++ ARM Linux toolchain in Ubuntu to build some software running in Debian, but I encountered some issues with some libraries (libavg) that use gethostbyname in static libraries without any easy way to make it dynamic. In that case, the library in the rootfs and cross-compiler must match.  So I decided to install Debian Squeeze (6.0.3) and the corresponding cross-toolchain by Emdebian (short for Embedded Debian). First to use this toolchain, add the URL to get Emdebian packages to /etc/apt/sources.list: # # — Emdebian cross toolchains # deb http://www.emdebian.org/debian/ squeeze main Then install Emdebian public key: apt-get install emdebian-archive-keyring apt-get update If you don’t install the key, you’ll get the following error: W: GPG error: http://www.emdebian.org squeeze Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY B5B7720097BB3B58 Search and install packages for the architecture that you need, in this […]

Intel or ARM NoteBook? Lenovo Says Both

Lenovo has announced the ThinkPad X1 Hybrid notebook which features an Intel Core processor (i3, i5, or i7 depending on the model) AND a Qualcomm Dual core ARM processor, allegedly a Qualcomm APQ8060 and runs both Windows 7 and a custom version of Linux. My first reaction when I read the news was: “What a stupid idea!” :~/ The ThinkPad X1 Hybrid has 13.3″ HD display with 1366×768 resolution and built with Gorilla Glass. The laptop also features an HD webcam, a fingerprint reader, an encrypted hard disk drive, an HDMI port, USB ports, and Intel’s Wireless Display (WiDi) technology. RapidCharge technology charges to 80% capacity in 30 minutes, i.e. approximately the time it takes to take a shower and cook an egg… (Not my idea, see promo video below). The only thing that can possibly justify having two different processors on the machine is the Instant Media Mode (IMM) […]

Android 4.0 Hardware Graphics Acceleration Coming to More Platforms

The Linaro Android Platform Team has just posted a weekly update to their progress. They are going to release 11.12 very soon with hardware graphics acceleration to 2 of their members development boards: ST Ericsson Nova A9500 Snowball and Samsung Exynos 4212 Origen boards. So if you have any boards or products based on those processors you should be able to get an hardware optimized version very soon. Hardware acceleration is already available on all OMAP4 platform such as Pandaboard, since this was the default Android ICS target. They also introduced support for the ARM DS-5 debugger, an Eclipse plug-in to help developer create high performance performance  and low power native software by integrating a graphical debugger for code generated for the Android Native Development Kit (NDK) and a basic version of the ARM Streamline performance analysis tool. Here’s a list of this week achievements: Key Points for wider discussion […]

ARM Releases Free DS-5 Community Edition For Android Developers

ARM announced a free version of its Eclipse-based  DS-5 tools for small development firms (with 10 or fewer developers) and individuals who publish applications for Android. The ARM Development Studio 5 (DS-5) Community Edition (CE) helps create performance- and power-optimized native software by integrating a graphical debugger for code generated for the Android Native Development Kit (NDK) and a basic version of the ARM Streamline performance analysis tool. DS-5 CE is designed to work with Android Virtual Devices ( AVDs), development boards and devices that run Android 2.2 and API 8 or higher. ARM Development Studio 5 (DS-5) Community Edition is distributed as plug-in for Eclipse and completes the app developer toolkit with a C, C++ and Assembly graphical debugger that builds on the Android Debug Bridge (ADB), a software performance profiler and system analyzer (ARM Streamline). To get started, you’ll need Eclipse IDE, the Android SDK and the Android NDK […]

ARM NEON Tutorial in C and Assembler

The Advanced SIMD extension (aka NEON or “MPE” Media Processing Engine) is a combined 64- and 128-bit single instruction multiple data (SIMD) instruction set that provides standardized acceleration for media and signal processing applications similar to MMX, SSE and 3DNow! extensions found in x86 processors. Doulos has a video tutorial showing how you can exploit NEON instructions in assembler, how to modify your C code and provides the compile options for gcc to enable NEON during the build. Abstract: With the v7-A architecture, ARM has introduced a powerful SIMD implementation called NEON™. NEON is a coprocessor which comes with its own instruction set for vector operations. While NEON instructions could be hand coded in assembler language, ideally we want our compiler to generate them for us. Automatic analysis whether an iterative algorithm can be mapped to parallel vector operations is not trivial not the least because the C language is […]

Midgard architecture for Embedded GPUs (Mali-T604 / Mali T658)

I’ve attended a webinar entitled “Harness the power and flexibility of the Midgard architecture for Embedded GPUs” presented Steve Steele, Product Manager at ARM Media Processing Division and sponsored by EETimes. Steve starts to talk about the current GPU architecture “Utgard” used in Mali-200, Mali-300 and Mali-400MP which allows resolutions up to 1080p and are used in many smartphones today including Samsung Galaxy S2 (Mali-400MP) which provides great graphics performance. He then explains how mobile devices are used today and what performance we may except in the future: Mobile As Main compute platform: New UI and Augmented Reality Social Networks and emails Content Creation/consumption 1 Device to multiple screen (e.g LCD screen and TV via HDMI) Evolving Processing Demand: Graphics Complexity multiplied by 25 Increase in screen size (1080p resolution support). Graphics API: Khronos OpenGL ES, Microsoft DirectX 11 Compute API: OpenCL, Renderscript Compute and Direct Compute. After this overview, […]

UP 7000 x86 SBC