Reducing design-in effort for ARM processor technology

Kontron Australia Pty Ltd
Tuesday, 02 October, 2012


For many embedded system developers the latest ARM processors present an extremely exciting prospect, as they deliver PC-class performance, while offering unrivalled energy efficiency. But, there are also inhibitions. These result from the greater amount of development effort needed in comparison to x86 technology. Embedded hardware manufacturers are, however, in a position to significantly reduce this effort with hardware-relevant software services.

The trend - ARM processors

ARM processors are at the heart of nearly all current smartphones and tablet computers in the consumer market. State-of-the-art ARM implementations, ie, from NVIDIA or Texas Instruments, lend these devices PC-class computing power and graphic capabilities thus enabling the realisation of sophisticated, intuitive user interfaces. At the same time, they combine this ease of use with extremely high energy efficiency - paving the way for new applications which to date were not possible with x86 processors. This was either due to the x86 processors’ high power dissipation or due to budget issues. Now even the unit costs are in favour of the small computing geniuses which are currently being sold in amazingly high numbers: Google, for example, states that around 500,000 new ARM-based smartphones are being activated daily - and that figure only refers to sales with the open source Android operating system.

ARM - interesting for embedded designs

All these factors - attractive user interface, high energy efficiency and competitive unit prices - add up to make ARM technology attractive to embedded systems developers and to facilitate new applications which to date were not possible with x86 technology. Dedicated processors with different configurations allow for ARM-based solutions to be ideally tailored to target applications and boast very low power consumption of just 1-3 W on average. As, however, the convergence of consumer electronics devices and PCs progresses, ARM and x86 processor features are moving closer together. In addition, ARM processors have now arrived in the lower performance class of x86 processors - while still offering unbeaten energy efficiency.

ARM presents new challenges

The new generation of ARM processors therefore possesses enormous potential for new designs which require graphical user interfaces in combination with extremely low power consumption and flexible network connectivity. Long-lasting, robust tablet PCs, as used in hospital or emergency services, for logistics or outdoor applications, as well as compact designs for in-vehicle infotainment and digital signage, are good examples. This new class of devices, which are becoming ever more intelligent and - thanks to touch-screen technology - can be operated intuitively and are gaining popularity in industrial applications as they offer a higher degree of convenience and operating safety.

In comparison to the world of x86, the implementation effort is initially higher - as in comparison to the extremely standardised x86 world, where a driver is already available for nearly every piece of hardware and more often than not already integrated in the operating system - ARM technology works according to different rules. Due to the device-specific tailoring of ARM processors, the development process for ARM-based designs is more intense, as hardware development and hardware-related software development are closely interlocked. For example, there is no standard operating system for ARM that automatically runs on all ARM devices. All the operating systems currently available for ARM processors, like Windows Embedded Compact (formerly Windows CE), different Linux derivates or Linux-based Android, first have to be adapted to the hardware. This includes integrating hardware-specific drivers as well as carrying out hardware-specific optimisations to the operation systems and to the application level. This intense development is illustrated in the following example of the Android operating system.

Uniform look and feel via hardware abstraction

In order to be able to install Android ARM-based hardware, a proper Linux base needs to be created. An ARM-optimised Linux kernel has to include the drivers of the desired peripherals and be set up to work with Android via different patches. This is the basis on which the application framework for Android is drafted. It is designed to provide a uniform look and feel on whichever device is being developed. Android achieves this by integrating a hardware abstraction layer which shows the interfaces to the hardware on the application framework as abstract modules. Thus the HAL provides, for example, interfaces to graphics, camera, audio, Wi-Fi, GPS etc, independent of whether the physical hardware itself is from manufacturer A or manufacturer B.

For application engineers this is advantageous as the application development can be carried out in a standardised way, the actual physical hardware is completely irrelevant. This high degree of standardised hardware access guarantees that one and the same Android application can run on different ARM platforms. Precondition for this is that manufacturers of ARM-based hardware also provide all the components as HAL modules for the software level. For standard components, such as audio-controllers, which are common in Android-based consumer devices, the corresponding HAL module is most likely already available.

Extended application-specific I/O support, however, which reaches beyond the standard range of interfaces, needs to be implemented and also anchored into the application framework. This anchoring in the application framework is necessary to create a re-usable software-infrastructure, which application engineers can easily integrate in their application.

In preparation for ARM-based embedded designs with Android, software-technical integration of peripherals into the Hardware Abstraction Layer is necessary. (Source: Google I/O 2008, http://sites.google.com/site/io/anatomy--physiology-of-an-android)

In preparation for ARM-based embedded designs with Android, software-technical integration of peripherals into the Hardware Abstraction Layer is necessary. (Source: Google I/O 2008, http://sites.google.com/site/io/anatomy--physiology-of-an-android.)

Hardware-related software services take a front seat

This example is a good illustration of how when ARM-based devices are being developed, hardware-related software services are taking a more dominant role than was the case with x86 technology. Application engineers, whose core competence lies in software development, should not be afraid of exploiting the advantages of ARM technology. More and more, embedded hardware platform manufacturers are ensuring that the effort needed here is kept to a minimum. For example, Kontron’s service offer even includes ARM-based motherboards, modules and systems equipped with all the relevant operating systems. This means that customers profit from application-ready platforms, which already provide the complete software infrastructure to the hardware in the preinstalled operating system. This ensures that developers can immediately begin their application development above the operating system level.This can be performed independent of whether the customer prefers the rich ecosystem of Android or the uniform look and feel of the Metro user interface which has been announced for selected ARM processors in Windows 8.

Real-time operating systems such as QNX, Green Hills and VxWorks will also be supported. A hardware platform will therefore not be shipped as a barebone, but with the right software support the corresponding licences will be shipped too. It goes without saying that this also is true for customer-specific designs which without a doubt will be a major application focus for ARM projects. OEM customers profit from standard products solutions which have already been developed, so that only the customer-specific individualisation requirements have to be fulfilled and financed. In turn, this significantly reduces the overall development costs and accelerates time-to-market.

Typical ARM-based Pico-ITX motherboard

Typical ARM-based Pico-ITX motherboard.

Hardware selection support

The development services which a company like Kontron fulfils for such a platform are used for other platforms. This is also an advantage for OEM customers as they can homogenise their product range in terms of hardware platforms much more efficiently. This means they have one contact person, uniform tools and a wide product range of ARM up to high-end x86 processors. This enables device manufacturers to slim down the number of suppliers they use and by doing this save costs, due to more homogenous, completely coordinated embedded computing platforms from manufacturers like Kontron.

Related Articles

Unlocking next-gen chip efficiency

By studying how heat moves through ultra-thin metal layers, researchers have provided a...

Ancient, 3D paper art helps shape modern wireless tech

Researchers have used ancient 3D paper art, known as kirigami, to create tuneable radio antennas...

Hidden semiconductor activity spotted by researchers

Researchers have discovered that the material that a semiconductor chip device is built on,...


  • All content Copyright © 2024 Westwick-Farrow Pty Ltd