Advertisement

Embedded development tools trends

Getting the most out of your ARM-based microcontroller

Demand for embedded systems continues to increase and the market is forecast to reach $158.6 billion by 2015. A significant number of these systems use an ARM-based processor, with more than 2,000 ARM Cortex-M-based MCU devices available from nearly 20 different chip vendors. As embedded systems continue to get more complex, the necessity for development tools to ease design pain points and enable developers to bring new products to market also increases.

Several new ARM processor IPs have been launched recently. At the low end of the spectrum, the Cortex-M0+ processor for applications which were previously dominated by 8-bit microcontrollers, while the 64-bit Cortex-A50 series processors address high-end markets such as servers. Gartner is forecasting 50 billion devices that are connected to the Internet of Things by the year 2020. ARM processors now span the whole application range from sensors to servers.

ARM Cortex-M0+ processor-based MCUs are now available from Freescale and NXP. These modern 32-bit devices beat most 8-bit microcontrollers on price, performance, and even power consumption. They are easy-to-use, have powerful debug and trace capabilities, are offered in very tiny packages. New Cortex-M4 processor-based devices have been launched by Atmel, EnergyMicro, Infineon, Freescale, and STMicroelectronics. These devices provide capable peripherals combined with enough processing power for demanding floating-point and DSP algorithms. There is also a trend toward multiprocessor devices that combine two Cortex-M cores (NXP LPC4000) or a Cortex-M4 processor-based MCU with a Cortex-A5 application processor (Freescale Vybrid). Such devices are designed for feature-rich graphical user interfaces and provide deterministic control software.

For ARM processor-based devices, the development tool industry offers a wide range of solutions that typically include an IDE, a C/C++ Compiler, and a debugger. The debugger connects via JTAG to the CoreSight debug hardware that is included in the devices and various debug probes with different performance and price points. For enablement, silicon vendors sometimes provide low-cost development tools and typically a range of evaluation and starter kits. With the IAR EW-ARM and the Keil MDK-ARM, generic development solutions are available that cover the wide range of ARM-based microcontrollers. Even solutions that use the Java programming language from Oracle and IS2T are gaining popularity with software engineers.

Some development tool chains include or combine a form of middleware. Silicon vendors frequently offer peripheral firmware libraries for their devices. To enable a consistent programmer's model for the various Cortex-M processor-based MCUs, ARM has deployed the Cortex Microcontroller Software Interface Standard (CMSIS), which provides a compatible software framework for the processor along with some debug functionality. The latest component, CMSIS-DAP (Fig. 1), is a debug access protocol firmware that can be implemented on low-cost starter kits.

Fig. 1: CMSIS

Fig. 1: CMSIS-DAP is a firmware component that allows multi-core debugging and can be implemented directly to low-cost starter kits such as the new Freescale Freedom board.  

With the availability of ever-more-capable microcontrollers, software development and prototyping for these devices have become more complex over the years. To enable rapid prototyping of Cortex-M series processor-based MCUs, ARM has developed the mbed platform. The platform consists of a hardware development kit (HDK), software development kit (SDK), online tools hosted in the cloud, and an active community of developers. The SDK supports each of the reference designs in the HDK, is free for use in commercial applications, and is Open Source under the very permissive Apache 2 license. All of this makes for an attractive start point for any new Cortex-M processor-based design.

The global developer community around the mbed platform has shared thousands of open-source repositories and has built an extensive and ever-expanding cookbook of “recipes” — program and code that can be reused to build MCU products. To help bootstrap design projects, the HDK reference designs are available as convenient off-the-shelf development boards so that software development can begin before the custom hardware is available. The development boards are mbed NXP LPC1768; mbed NXP LPC11U24 boards supporting the ARM Cortex-M3 and Cortex-M0 processors, respectively; and the FRDM-KL25Z Freescale Freedom development platform, featuring the Cortex-M0+ processor-based Kinetis L series MCUs.

The use of real-time operating systems is rapidly becoming an industry best practice, and usage of commercial middleware as well as reuse of custom libraries is gaining importance for cost-efficient software engineering. Successfully combining these building blocks of a modern embedded application often poses a problem for developers. To solve this, ARM has introduced a new approach to component-based software development. A structured description format for arbitrary components like device support files, operating systems, or communication stacks allows automatic dependency resolution, reliable version management, and consistent configuration. MDK Version 5 (Fig. 2 ), is a reference implementation of a component-based software development system for ARM Cortex-M processor-based systems.

Fig. 2:MDKv5

Fig. 2: In the new MDK-ARM, software components for CMSIS and middleware can be selected and combined into a run-time environment.

Fig. 3:Streamline

Fig. 3: Streamline provides detailed software profiling to analyze system bottlenecks, code hot spots, and power inefficiencies for Linux and Android platforms.  

Computer-On-Modules (COM) is another strong industry trend with boards frequently powered by ARM Cortex-A series application processors. These are available from Broadcom, Freescale, NVIDIA, Marvel, Qualcomm, Samsung, or Texas Instruments. COM boards are available from several hardware manufacturers in various form factors and have enough processing power to replace traditional PC-based industrial computers while consuming less energy. Most COM boards run a Linux or Andriod operating system and therefore offer cost benefits on hardware and software. For optimizing the application code toward performance or energy efficiency, the tool industry offers analyzers such as the ARM Development Studio 5 (DS-5) with Streamline system (Fig. 3 ) and performance trace capabilities.

Advertisement



Learn more about ARM

Leave a Reply