MIPS Introduces microAptiv, interAptiv and proAptiv Cores

MIPS Technologies has introduced their new Aptiv generation of microprocessor cores divided into 3 families: proAptiv, interAptiv and microAptiv. proAptiv Core (equivalent to ARM Cortex A15 DMIPS/Mhz) The proAptiv core achieves a 4.4 CoreMark/MHz score which according to MIPS is the best score reported for any licensable IP core. It also achieves 3.5 DMIPS/MHz which is abnout the same performance as ARM Cortex A15.  This core targeted at high performance applications such as smartphones, tablets, HD STB, automotive infotainment and residential gateways. proAptiv is recommended as an upgrade to MIPS32 74K/1074K cores. interAptiv Core (equivalent to ARM Cortex-R5 DMIPS/Mhz) The multi-threaded interAptiv core delivers higher CoreMark/MHz (3.2) than competing cores in similar die area and 1.7 DMIPS/MHz per core. The interAptiv is aimed at mid-range applications such as mainstream STB, digital cameras, mid-range smartphone, broadband CPE (Consumer Premise Equipment) and SATA/SSD controllers. microAptiv Core (equivalent to ARM Cortex-M3/M4 DMIPS/Mhz) The […]

Getting Started with MultiArch (armel / armhf) in Ubuntu

Until now, I used xapt and dpkg-cross to install cross libraries for armel, but since I’ve upgraded to Ubuntu 12.04, it appears to be broken. I’ve contacted Linaro about this issue, and the “cross-building” expert at Linaro (wookey) recommended me to use multiarch instead, as xapt/dpkg-cross will be eventually deprecated. He provided me an example showing how-to use multiarch to build Chromium. I’ve been looking for a “How-to multiarch”, but haven’t been able to find something really clear and simple, so I thought I would post it here. In the example, they used a chroot for cross-building, which is probably a good idea to avoid messing up with the system. It’s also possible multiarch is not 100% reliable, and I’ve read stories where people messed up their system when using multiarch with i386 (32-bit) and amd64 (64-bit). Preparing a chroot for cross-building I’ll use a 32-bit Ubuntu precise chroot, but […]

Building Chromium OS for Raspberry Pi (ARMv6)

I had previously written the instructions to build an older version of Chromium (via Berkelium) for ARM using Beagleboard/Overo rootfs in order to use it with Xibo digital signage. Recently I’ve been contacted by hexxeh, who maintains Chromium OS vanilla builds for x86 and MacOS computer, as he intends to provide Chromium OS for the Raspberry Pi, and you should be able to get a SD card image once everything is working from the site above. Today, I’ll post the steps followed to build Chromium OS LKGR (“the latest revision to pass only unit tests”) optimized for  ARMv6 processor with soft-float support, which is the type of processor (Broadcom BCM2835) used in the Raspberry Pi. Please note that although it can build, it still does not run properly and a few more changes are needed. First, you’ll need a fast machine to build Chromium OS in a reasonable amount of […]

ARM Development Studio 5 (DS 5) Demos At Design West

ARM has shot a few video demos of their ARM Development Studio 5 (DS 5), a software development tool suite for ARM platforms, at Design West 2012. The first video shows DS 5 running on the Xilinx Zynq-7000 platform (dual cortex A9 + FPGA), and we can see the memory map, registers, call graphs and stack usage. We can also see real-time processor switching and the function that takes the most CPU resources (profiling). The second videos showcases ARM DS-5 Streamline, a performance analyzer, which helps determine how well programs are running on a Linux or Android platform, on an Samsung Exynos 4210 platform (Origen board?). This tool also to profile both the dual-core ARM Cortex-A9 and ARM Mali-400 MP GPU in the platform. We are shown three types of reports: CPU/GPU Loading Threads usage Power Usage per application The third and last video shows ARM DS 5 on Freescale i.MX6 […]

ARM Releases Ne10: An Open Source Library with NEON Optimized Functions

Arm NE10

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 for ARM Cortex-A (ARMv7) processors and the goal of these instructions is similar to MMX, SSE, and 3DNow! extensions for x86 processors. Starting early 2011, ARM has been working internally on a project codenamed Snappy to develop common functions accelerated by NEON. They have now released the first version of Snappy, now called the Ne10 library, which is available on GitHub at https://github.com/projectNe10/Ne10 . The code has been developed in C and Assembler and tested on Ubuntu on ARM (Linaro). A Makefile is also included to build it for Android (AOSP). The current functions include vector and matrix operations accelerated by NEON instructions. Since the library is open source, ARM hopes developers will make use of the Ne10 […]

Cross-compiling the ARM Linux Kernel in Ubuntu 12.04 LTS

Yesterday I installed Ubuntu 12.04 ‘Precise’ Beta 1 in Virtual Box to give it a try (I could not manage to have HUD working btw), and today, I’ve noticed an article entitled “Ubuntu 12.04 ‘precise’ and cross compilation of ARM kernels” explaining how to build Linaro ARM kernel in Ubuntu 12.04. So I’ve decided to give it a try, especially it seems straightforward. I followed the instructions in the aforementioned link,  it basically worked except I had to install dpkg-dev package that also installed the build essentials (gcc, g++, etc…) and use sudo for some commands. You’ll notice the name change for the ARM gcc toolchain as it now uses hard-float by default which seems to provide quite a boost in performance for the Pandaboard. Here are the steps I followed: Install the ARM GCC cross compiler and the development package of dpkg:

Retrieve the kernel source:

Install […]

ARM Announces ARM Cortex-M0+ Core to Power the Internet of Things

ARM has just unveiled the ARM Cortex-M0+ 32-bit processor optimized to deliver ultra low-power and low-cost MCUs to power the ‘Internet of Things‘ by controlling connected intelligent sensors and smart control systems in a broad range of applications including home appliances, white goods, medical monitoring, metering, lighting and power and motor control devices. ARM claims the Cortex-M0+ consumes just 9µA/MHz on a low-cost 90nm LP process, around one third of the energy of any 8- or 16-bit processor available today, while delivering significantly higher performance (1.77 CoreMark/MHz). Beside the low power consumption, the main advantage of the Cortex-Mo+ over 8-bit and 16-bit MCUs , is that it can provide low power wireless connectivity to a variety of embedded systems such as wireless sensors. The new processor is based on Cortex-M0 processor but has been redesigned to include a few new features such as: Single-cycle IO to speed access to GPIO […]

How to build qemu-system-arm in Linux

Most (all?) Linux distributions have a binary package for qemu-system (including qemu-system-arm) in order to emulate non-x86 targets such as ARM, MIPS, PPC, Alpha and more. However, in some case you may need to very latest version of qemu-system and it may not be able yet for your distribution. Here’s how to do to build qemu-system-arm without building all qemu-system-***: Download the latest stable version of qemu (qemu 1.0.1 at the time this post was written):

or get the latest source code (development tree) which has the very latest features and bug fixes, but may not work or compile:

or get the latest source code from linaro (which may be more up-to-date for ARM targets):

Configure qemu to build ARM targets:

Build and install qemu-system-arm:

Verify the latest version of qemu-ssytem-arm is installed:

Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time […]

EmbeddedTS embedded systems design