On the heels of that announcement, I spent some time with Christian Légaré and asked him specifically to comment on the realities of RTOS in 2016, especially as it relates to the rapidly evolving Internet of Things (IoT). Here is our discussion.
Mathas: Christian, let’s start by taking a 50,000-foot view of the 2016 RTOS playing field. What, especially, is different from the past?
Légaré: In 2016, I doubt people can any longer build their own RTOS. First, we need to be clear. When we say RTOS, we need to recognize the difference between the real-time kernel and the real-time operating system. For example, what is called FreeRTOS is not an RTOS, it’s a real-time kernel. But it is a valued open-source solution. So people now no longer create their own RTOS, but instead move to open-source solutions.
There are also other ones out there. Intel is sponsoring the Zephyr project, and they’re putting millions of dollars behind the creation of an open-source RTOS following the Linux model. As soon as you add connectivity, wireless or wired, to a device within the Internet of Things, a “grow-your own” scheduler or a real-time kernel won’t cut it anymore.
This is what ARM has learned in the last few years. ARM started an initiative that they called the MBed Initiative, and they started to write their own event-driven scheduler, an RTOS for the smaller products in the ARM product family. We at Micrium actually encouraged them not to do it based on the 8–10 years it would take for the kernel to be sufficiently adopted. That would be too late. We told them to consider instead starting with something that was already there that was approved and adopted within the industry.
However, they went the MBed route, designed and wrote their own kernel. This year we met with them, and they said that we had been right, and invited Micrium and others to join them. They now understand that the process would have taken too much time.
There is a pyramid diagram of the evolution of intelligent devices (See Figure 1). At the bottom of the pyramid is where you see billions of forecasted devices. These are the “things” in the IoT. As you move up the pyramid, you have higher classes, gateways, smartphones, tablets, et cetera. The bottom of the pyramid is based on smaller processors.
Where are the forecasted billions of connected devices coming from? Source: Harbor Research
So what do you put on these smaller processors? You can’t use Linux—it’s too big. Instead you need a solution that is lean, efficient and the size of a real-time kernel.
Mathas: What role do standards play now?
Légaré: The information technology (IT) department and the CIO have pushed the electronics industry. However the CIO does not understand production, the devices and “things.” In IT, they have standards because there are Intel processors, and you’re using either Windows or Linux. In the embedded world, there are no standards. There are 50 different silicon vendors with different processors. There is no one RTOS. Now we’re predicting there will be billions of devices, and we will eventually hit an inflection point where we will see this exponential growth. At that point, we need to have economies of scale and move to standardized hardware for embedded devices and standardized software, including the RTOS. You cannot, however, standardize an RTOS if hardware isn’t standardized. For the next five to ten years, we will continue to have diversity in hardware and software at the embedded level. So you will still have a variety of open-source or commercial RTOS offerings.
Mathas: What needs to be understood when selecting an RTOS?
Légaré: Not all products need a real-time OS, so that’s first—is an RTOS needed for this design? The next thing is time-to-market, which can be achieved by adding an RTOS to a design. The RTOS also lowers costs as the development is split between multiple developers and brought together since the RTOS provides the synchronization communication mechanism between these different blocks that will be glued together. If you write your code as a single loop and you add code to that, you screw up the whole timing. With an RTOS, you can move from one task to another task and add a new feature without unbalancing your timing.
It’s also important to select a vendor that has a history, good documentation, a good background, good support and a broad base of users.
For open-source products, you can start with FreeRTOS and others that are free, but then when you’re ready to put it all together, it will still cost you. So if your time is worth something, then start with a commercial product. The cost of that product will be a lot lower in the long run.
Mathas: What is commonly not understood regarding an RTOS?
Légaré: I think they’re starting to “get it.” For example, there’s a huge shift now from the 8-bit processors to 32-bit processors. There were only two 8-bit processor manufacturers in the world. Atmel had ADRs and Microchip, 8-bit PICs. Now with Microchip’s acquisition of Atmel, 8-bit processors will all come from a single source. Microchip is also well positioned for the 32-bit ARM-based product line. As soon as you add a 32-bit processor to a design, you need an RTOS. Because this processor is capable of a lot more performance and processing power than an 8-bit solution, then the question is, which RTOS?
Eight years ago, the IPSO Alliance was promoting the use of the Internet Protocol. Today everyone understands that we need the Internet Protocol. Then the question is which version and how do I use it? There are so many protocols in this family, though, which one do you use? It’s the same with an RTOS. The industry understands that you need an RTOS. Which one?
Mathas: Where does SafeRTOS fit in?
Légaré: SafeRTOS is based on FreeRTOS code, modified so that it can go through safety-critical certification. It’s from a company called Wittenstein. So it’s a commercial version of FreeRTOS for safety critical apps.
Mathas: Does Wittenstein’s SafeRTOS impact older RTOS companies?
Légaré: While it does impact the industry, we at Micrium are not doing less in the safety-critical segment. Micrium launched µC/OS-II and µC/OS-III in 1999 and 2008, respectively. µC/OS-II was safety-critical certified in 2000 so for the people who use it, it’s still the reference. There is more competition now because of UK-based Wittenstein, but we’re also still growing.
What we have observed during the past 12–18 months is that we have to meet so many new requirements. Security, for example—headlines are consistently about security and the IoT. In order to provide that, we need more software and more hardware, and it starts with the end devices. And if you start with the “thing,” then sometimes a microcontroller won’t cut it, so you need a bigger processor to be able to add all of these security features.
Today we have a lot larger customer base using application processors. With Moore’s Law reaching a plateau, it’s very difficult to increase the processor performance. What’s happening in the embedded processor space now is the same thing that happened in the PC space years ago. In PCs today, you have a processor with multiple cores—four or eight—to increase performance. Because of the Moore’s Law plateau, we cannot increase performance and also lower power consumption; it’s difficult to do it with a single core.
We’re going to have multiple microcontroller cores in a chip. Which means that for the RTOS, we’ll also need to come up with operating systems that operate on homogeneous and heterogeneous cores in the same chips. The Intel Pentium processors in a PC, tablet or smartphone are all identical cores. In microcontrollers, what we’re starting to see is different cores, such as Cortex-A and a Cortex-M.
In a smartwatch application, when the device is doing nothing, you don’t want it to light up, you just want the background tasks to run and keep track of time, blood pressure or temperature, et cetera. This is done with a small processor that doesn’t consume much power. As soon as you touch a screen or touch a button, you want the user interface to come up, which requires a larger processor. So for wearables, we’re starting to see chips that have a large application processor like a Cortex-A, and a small microcontroller like a Cortex-M, and we’ve seen this at Micrium for a good year now.
We initially thought that customers would use Linux or Android on the large processor and Micrium on the small processor. As soon as we started to talk to the customers, they said, “We need to learn two operating systems? Can’t you run your RTOS on the large application processor?” And, of course, we could. Now these asymmetrical multiprocessor, multicore chips run µC/OS on their cores and squeeze all the performance out of that chip. This has been a very successful area of development for Micrium.
Mathas: What else is happening in the industry right now?
Légaré: I come from the telecom era—the 1980s, 1990s. When deregulation happened, competing telecom companies had to start working together. Sometimes you work together, sometimes you compete, and you serve the same customers or you fight for the same customers. The same thing is happening now in the RTOS arena. Sometimes we need to partner with competitors to be able to serve the customers.
Mathas: Any final thoughts?
Légaré: Everyone is talking about IoT from the point of view of what it means for them. IoT is everything and nothing at the same time. Research reports are saying it will happen, but first things must be in place. Those things include economy of scale and better return on investment. There are certain factors that will allow you to achieve those economies of scale that are aligned and that will bring this inflection point to where IoT will finally become a reality. Using an RTOS is one of them. It’s an enabler for the electronic revolution that we’re living today.