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, […]
OpenMAX (Open Media Acceleration)
OpenMAX (Open Media Acceleration) is a royalty-free, cross-platform set of C-language programming interfaces that provides abstractions for routines especially useful for audio, video, and still images. OpenMAX standard is managed by the non-profit technology consortium Khronos Group. OpenMAX allows developers to take advantages of hardware media decoding/encoding. For example, If you want to play video using Raspberry Pi hardware (VideoCore IV GPU in Broadcom BCM2835) you’ll have to use OpenMAX IL. OpenMAX provides three layers of interfaces: Application Layer (AL): Open standard for accelerating the capture, and presentation of audio, video, and images in multimedia applications on embedded and mobile devices. Integration Layer (IL) : API defining a standardized media component interface to enable developers and platform providers to integrate and communicate with multimedia codecs implemented in hardware or software. Development Layer (DL): APIs containing a comprehensive set of audio, video and imaging functions that can be implemented and optimized […]
Device Tree Status Report – ELCE 2011
Grant Likely, owner at Secret Lab Technology, describe the current status of device tree (used to resolve ARM “hodgepodge” issue) and provides an example at Embedded Linux Conference Europe 2011. Abstract: In recent years, Linux has enjoyed immense success in the embedded market, and we’ve seen an explosion in the number of devices supported by the mainline Linux kernel. Traditionally, however, adding support for another embedded machine typically involved adding yet another board.c file to the kernel which more often than not was simply cut and paste from a similar board. As a result, board support code contains a huge amount of duplication and has become so huge that it is becoming unmaintainable. To move away from individual board files, several architectures have adopted the Device Tree method of encoding the hardware details into a data structure which can be parsed by generic initialization code and device drivers. This session […]
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 […]