For microcontrollers (MCUs) used in embedded devices, intellectual property supplier ARM is the clear market leader. In a recent forecast for VDC Research’s report “The Global Market for Embedded Processors,” ARM-based MCUs accounted for more than half of the unit shipments using non-proprietary architectures in 2013 (see chart).
The Cortex-M series is the main line of ARM MCUs, and is the most prevalent architecture used in embedded devices for the IoT. So when ARM announced on October 1 at the TechCon convention and trade show that the company would provide a free operating system—the mbed OS—for the M-series, it created considerable buzz in the industry, as well as some consternation and a bit of confusion.
ARM has been using the mbed name since 2005 for “maker”-style development platforms based on Cortex-M series MCUs, along with a large community of developers and an extensive software library. But the new announcement greatly expands the original mbed concept. The mbed name now encompasses not only the new operating system, but also: a cloud connectivity platform (mbed Device Server); a set of development tools (mbed Tools); and an ecosystem of partners (mbed Partners). Effectively, mbed has become a line of both products and services. ARM says that collectively, mbed will “accelerate Internet of Things deployment.” In this blog post, we’ll focus on the mbed operating system.
The embedded industry is already rife with many dozens of operating systems, ranging from bare bones to fully-featured. These include commercially-licensed binaries (closed source), commercially-licensed open source, free open source, as well as proprietary in-house OSs.
For resource-constrained embedded devices, the free open source offerings have been popular but limited in the extent of their development. Generally, commercially-licensed OSs are more professionally designed, thoroughly tested, and robust.
Several aspects of the mbed OS are noteworthy. First, ARM says that its free OS will be commercial grade. By offering it for free, the mbed OS will compete with some of the commercial embedded OSs already on the market. However, in his keynote speech at TechCon, ARM’s CTO Mike Muller emphasized that the mbed OS will not be a real time operating system (RTOS). Many IoT devices require the time-critical determinism of an RTOS, most notably in safety critical applications such as avionics, automotive systems, factory automation, and the like. The lack of real time functions will limit the breadth of applicability for mbed OS, and the extent to which it will compete with many of the commercial OSs on the market.
Second, ARM said its main intention of releasing the OS along with the mbed Device Server was to ease embedded software development to handle the many security concerns and communications protocols used in IoT, as those are often sticking points for developers not previously experienced with connected devices. Zach Shelby, Directory of Technical Marketing for the ARM’s IoT initiatives, noted that even devices running competing commercial OSs will be able to take advantage of mbed Device Server connectivity services. As Shelby described it, ARM isn’t trying to compete with OS vendors, the company is trying to ensure that IoT developers have adequate support to bring products to market in a timely manner.
Third, although ARM did not mention this in its press information Shelby told VDC that much of the mbed OS source code would be made available as open source. He also said that a few specific software components (such as some security modules) would be released only as binaries, i.e. closed source, which is why the company hasn’t been touting the OS as “open source.”
And fourth, ARM’s announcement only described the mbed OS as being for the M-series MCUs, but Shelby told us that partners will be able to adapt the open source code for ARM’s other series of processors. Indeed, at least one hardware vendor on the show floor was demonstrating a working version of the mbed OS on a Cortex A-series microprocessor. However, the higher performance A-series line is often used with more fully featured operating systems (e.g. Linux), and VDC doesn’t consider it to be a major target for the mbed OS.
All-in-all, VDC believes that the mbed OS will be significant for how it should speed up development for new entrants in the IoT. It probably won’t cause a major upheaval in the broad market for commercial embedded OSs, but a few of the OS vendors at the low end of the market are likely to be adversely impacted.