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 […]
Android Variants, Hacks, Tricks and Resources – AnDevCon II
The second Android developer Conference (AnDevCon II) took place about 10 days ago. Karim Yaghmour of OperSys published the presentation slides he used during his two Android presentations. The first presentation was Embedded Android Workshop, the same presentation he did at Android Open 2011. The second presentation “Android Variants, Hacks, Tricks and Resources” slides can be found below. Those 48 slides cover the following: AOSP’s limitations: Rigid, closed development model, excludes many things… Tearing AOSP apart Forks: Cyanogenmod: After-market handset firmware with custom launcher and lots of tweaks and mods… Replicant: 100% open souce with FDroid marketplace. MIUI: Closed source with UI enhancements. Ports: RIM Playbook: OMAP4 Tablet based on AOSP. Bluestacks: Android on Windows 7. Alien Dalvik: Android SDK + Meego SDK integration. Mods: XDA Developers. Melding with “Classic” Linux Stack: Rationale: Lots of available stacks in Linux, Android does not provide everything. Road blocks: File system, Bionic C […]
Using Buildroot For a Real Project – ELCE 2011
Thomas Petazzoni, embedded Linux engineer and trainer at Free Electrons, shows how they used buildroot for a specific project at Embedded Linux Conference Europe 2011. Abstract: Buildroot is a nice, simple and efficient tool to build small to medium sized embedded Linux systems, such as the ones found in many industrial systems or highly dedicated systems. Buildroot allows to automate the process of building a cross-compiling toolchain, building the root filesystem with all userspace components, building a Linux kernel image and a bootloader image. Based on experiences of a specific customer project, Thomas details how Buildroot can be configured and used to quickly produce nice, fast and efficient embedded Linux systems, but also how the target application development and debugging can be done based on Buildroot. You can also download the presentation slides. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as […]
Android Platform Optimizations – ELCE 2011
Ruud Derwig and Mischa Jonker, both working at Synopsys, present different Android optimization methods at Embedded Linux Conference Europe 2011. Abstract: Although compute platforms gain performance with every new generation, getting the most out of every cycle and milliwatt remains a key value driver for Consumer Electronics. This presentation opens up the Android platform and explain what platform components and frameworks can benefit from performance optimizations. The optimizations are illustrated using real-life examples from the porting and optimization of the Android platform for the DesignWare ARC CPU. Both Android platform and application developers will gain insight in how to improve Android performance. Topics that are addressed include the Pixelflinger, Linux kernel and drivers, Javascript engine, Bionic C library, and the Dalvik VM. We’ll demonstrate the portability of Android and suitability of the ARC architecture for building efficiently Android systems. You can also download the presentation slides. Jean-Luc Aufranc (CNXSoft)Jean-Luc started […]
Developing Embedded Linux Devices Using the Yocto Project – ELCE 2011
Presentation entitled “Developing Embedded Linux Devices Using the Yocto Project and What’s new in 1.1” by David Stewart, Intel, at Embedded Linux Conference Europe 2011. Abstract: The Yocto Project is a joint project to unify the world’s efforts around embedded Linux and to make Linux the best choice for embedded designs. The Yocto Project is an open source starting point for embedded Linux development which contains tools, templates, methods and actual working code to get started with an embedded device project. In addition, the Yocto Project includes Eclipse plug-ins to assist the developer. This talk gives a walk-through of the key parts of the Yocto Project for developing embedded Linux projects. In addition, features are described from the latest release of Yocto (1.1). At the end of the talk, developers should be able to start their own embedded project using the Yocto Project and use it for developing the next […]
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 […]
Ubuntu Linaro Evaluation Builds (LEB) Tutorial
Ricardo Salveti, tech lead of the Developer Platform working group, gave a tutorial on the Ubuntu Linaro Evaluation Builds (LEBs) during Linaro Connect Q4.11. He first described the list of available images: nano – minimal rootfs (command line) with apt/dkpg support ALIP – nano + X11 + browser Developer – nano + development tools Ubuntu Desktop – clone of Ubuntu with Linaro modifications. and how the builds are made available via nightly builds and hardware packs. Linaro aims at making Ubuntu the reference Linux distribution for ARM. This goal is valid for Cortex A processors, but for older ARM core (ARM9/ARM11) other distributions will have to used such as Debian. For example, Raspberry Pi board (ARM1176) will support Fedora optimized by Redhat. He then gave further details on Offspring the Linaro build system based on live-build scripts used for Debian. The source code is retrieved either via git (http:/git.linaro.org) or launchpad […]
BTRFS The Next Linux File Systems
BTRFS (B-tree file system) is a GPL copy-on-write file system for Linux developed by Oracle and is expected to replace ext4 as the default file system in future Linux distributions. Here are the main features of BRTFS (pronounced like Better FS): Extend file system (264 max file size: 16 Exabytes) Copy on write (COW) data and meta-data Space efficient packaging of small file Optional transparency compression (zlib/LZO) Integrity checksumming (CRC-32C) for data and meta-data Writable snapshots Subvolumes Online resize, defragmentation, device management Multiple device support (pool of storage) Offline conversion from ext3 and ext4 Specialized log for fast sync and O_SYNC writes BTRFS is included in the Linux kernel (since Linux 2.6.29) and can be enabled during installation of several distributions such as Fedora 15 and Ubuntu 10.10, but is not officially the default file system just yet. To learn more about the internal of BTRFS you can watch the […]