Select an ARM MCU during Development with Atollic TrueSTUDIO for ARM

Atollic has released the latest version of TrueSTUDIO development tool for ARM, a C/C++ development tool for embedded developer that looks similar to Eclipse. It supports micro-controllers from a number of semiconductor manufacturers, making it possible to switch MCU supplier during the design process. This release of TrueSTUDIO supports several ARM MCU cores such as ARM7, ARM9, Cortex-M0, Cortex-M1, Cortex-M3 and Cortex-M4 processors. It also includes device-specific support for an extensive list of ARM processor-based micro-controller families, including: Atmel AT91SAM, EnergyMicro EFM32, Freescale Kinetis, Fujitsu FM3, STMicroelectronics STM32, Texas Instruments Stellaris and Toshiba TX. As well as an optimizing C/C++ compiler and a multiprocessor-aware debugger, the tool also has serial wire viewer tracing, graphical UML diagram editors for model-based design and architecture, performs code-quality analysis via TrueINSPECTOR and TrueANALYSER and features a test-automation toolbox (TureVERIFIER). There is also an ECLIPSE-based IDE with editor, x86 C/C++ build and debug tools for development of […]

OpenCL (Open Computing Language) Overview and SDKs

OpenCL (Open Computing Language) is a multi-vendor open standard for general-purpose parallel  programming of heterogeneous systems that include CPUs, GPUs and other processors. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for highperformance compute servers, desktop computer systems and handheld devices. OpenCL standard is managed and defined by the Khronos Group. The latest version (OpenCL 1.1) was ratified by the Khronos Group on the 14th of June 2010 and adds significant functionality for enhanced parallel programming flexibility, functionality and performance including: Host-thread safety, enabling OpenCL commands to be enqueued from multiple host threads. Sub-buffer objects to distribute regions of a buffer across multiple OpenCL devices. User events to enable enqueued OpenCL commands to wait on external events. Event callbacks that can be used to enqueue new OpenCL commands based on event state changes in a non-blocking manner. 3-component vector data types. Global work-offset which […]

Faster JPEG decoding on ARM with libjpeg-turbo and NEON Instructions

libjpeg-turbo is based on libjpeg, but uses SIMD instructions (MMX, SSE2, etc.) to accelerate JPEG compression and decompression on x86 targets. On such systems, libjpeg-turbo is generally 2-4x as fast as the original version of libjpeg with the same hardware. ARM does not support MMX or SSE2 instructions, but it has its own SIMD instructions processed by the NEON Engine on ARM Cortex Core A5, A8, A9 and A15. ARM claims that “NEON technology can accelerate multimedia and signal processing algorithms such as video encode/decode, 2D/3D graphics, gaming, audio and speech processing, image processing, telephony, and sound synthesis by at least 3x the performance of ARMv5 and at least 2x the performance of ARMv6 SIMD.” Linaro worked on libjpeg-turbo and added NEON support to it. The code is available on launchpad at https://code.launchpad.net/~tom-gall/linaro/libjpeg-turbo Linaro has also provide benchmark result for libjpeg-turbo with a 12 Mpixel image on TI OMAP4 (Pandaboard) using the […]

What is GENIVI ? A Software Standard for the Automotive Industry

I’ve recently read in the news that a few operating systems had achieved GENIVI compliance. So let’s see what Wikipedia says about the GENIVI Alliance: The GENIVI Alliance was founded on March 2, 2009 by BMW Group, Delphi, GM, Intel, Magneti-Marelli, PSA Peugeot Citroen, Visteon, and Wind River Systems with the goal of establishing a globally competitive, Linux-based operating system, middleware and platform for the automotive in-vehicle infotainment industry. Since then, the alliance has expanded to more than 100 members who are working together to deliver an open and globally consistent software platform based on Linux for use by the whole car industry. So the clear goal here is to have some set of software specifications and standards (Currently GENEVI 1.0)  in the automotive industry in order to speed time to market and reduce the cost of developing Infotainment applications. GENIVI comes from a concatenation of Geneva and IVI (In-Vehicle […]

ARM TechCon 2011: Software & System Design Schedule

ARM Technology Conference (TechCon) 2011 will be hosted in Santa Clara on the 25-27 October 2011. There will be many events and classes related to Chip Design and Software & System Design. The Software & System Design events will take place on the 26th and 27th October 2011. Here’s the schedule for Software & System Design events for the 26th of October: Time Class Track 11 am The 2012 Compute Subsystem Creating Smarter Systems 11 am Practical Cortex Debugging: Serial Wire Viewer and ETM Tracing Developing/Debugging 11 am Integrating a CMOS Imaging Sensor into an ARM-Based Embedded Application Human Interface Design 11 am Embedded IPv6 – Now is the time Networking & Connectivity 11 am RSA & AES Libraries protected against side-channel attacks Safety & Security 11 am Introduction to the ARM Architecture The Fundamentals of ARM 12 pm Optimizing SoC development through a common design foundation Creating Smarter Systems […]

Yocto Project: Build Your Own Custom Embedded Kernel Image

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. The first official release (Yocto Project 1.0) has been made available on the 6th of April 2011. Yocto Project Overview See this short video presentation of the Yocto Project which explains its goals. It’s a complete embedded Linux development environment with tools, metadata, and documentation – everything you need such as emulation environments, debuggers, an Application Toolkit Generator, etc… It is not a new build system however such as buildroot, instead it relies on the Poky build tools that provide an open source development environment targeting the ARM, MIPS, PowerPC and x86 architectures. Here’s what the Yocto Project provides: A recent Linux kernel along with a set of system commands and libraries suitable for the embedded environment. System components such […]

ARM Based Android Set-Top Boxes at China Content Broadcasting Network Exhibition

The 19th China Content Broadcasting Network Exhibition (CCBN 2011) took place on March 23 – 25 2011 at the  China International Exhibition Center in Beijing. During this event, numerous Android STB were showcased with processors from several vendors. Trident Microsystems PNX8400 Trident Microsystems demonstrated their Cortex-A9 Apollo/Shiner SoC family, the PNX8400, which included all the major building blocks needed to develop Next Generation Broadcasting (NGB) solutions.  NGB is a government initiative for smart tv in China. On 24th of March 2011, Trident Microsystems also announced that its STB SOCs were selected for the first trial deployments of NGB in China. LG (LG Smart Box) and Cycle Century demonstrated their Android based cable STB using Trident Microsystems NXP8400. This stb supports DVB, Conditional Access, 1080p video streaming, a browser with an Apps store, 3D gaming and VoIP. To see more about Trident Microsystems Android STB have a look at the video […]

Compile with ARM Thumb2 to Reduce Memory Footprint and Improve Performance

ARM claims that Thumb-2 instructions (for ARM Cortex cores and all ARMv7 processors) provides performance improvements and code size optimization: Thumb-2 technology is the instruction set underlying the ARM Cortex architecture which provides enhanced levels of performance, energy efficiency, and code density for a wide range of embedded applications. For performance optimized code Thumb-2 technology uses 31 percent less memory to reduce system cost, while providing up to 38 percent higher performance than existing high density code, which can be used to prolong battery-life or to enrich the product feature set. Thumb-2 technology is featured in the  processor, and in all ARMv7 architecture-based processors. Dave Martin (Linaro) has recently posted a message entitled “ARM/Thumb-2 kernel size comparison” on Linaro mailing list:

The results provided by Linaro at not as high as those claimed by ARM, but a 20% code size reduction is still impressive. If you want to use Thumb2 to compile […]

UP 7000 x86 SBC