IoT Woos Wedding of SoC & RTOS

Phoenix-RTOS goes on GitHub

Get ready for the emerging battle over the IoT OS.

The market already features a host of real-time operating systems positioned as ideal or “optimized” for the Internet of Things. But the latest wrinkle is a growing demand among IoT SoC designers looking for a “bendable” RTOS. They want to design a proprietary IoT device architecture tightly married to a specific microkernel that they can modify, its framework and communication stacks.

Silicon Labs is among the first IoT SoC vendors to openly discuss this. Its 2016 acquisition of Micrium, a supplier of RTOS software, has allowed the Austin, Texas-based company to “bend the kernel of Micrium RTOS for connected IoT applications,” Daniel Cooley, senior vice president and general manager of Silicon Labs’ Internet of Things (IoT) products, explained to EE Times last year.

Rob Oshana, vice president of software R&D at NXP Semiconductors confirmed a similar trend on the IoT market.  He told us, “Yes, next-generation IoT devices are now being designed from the ground-up jointly by software developers, system architects and microcontroller design.”

He noted, “Software teams drive the programming models, which are an abstraction from the underlying compute algorithms and data structures. This helps bridge the gap between supporting layers of application software and the underlying hardware architecture.” He explained, “This includes the RTOS requirements that can be improved with hardware implementation such as low-level interrupts, memory management, and clock support.” Oshana added, “For connected applications, software teams provide PHY and MAC level stacks that are architected closely with hardware design teams for efficient SoC design.” In sum, IoT chip vendors say they need an RTOS they can customize to their specific needs. The question is who can offer such a flexible and scalable RTOS.

Fully cognizant of this new trend, a Warsaw, Poland company, Phoenix Systems, last week made available the source code of the company’s Phoenix-RTOS on GitHub.

Paweł Pisarczyk, Phoenix Systems’ president and CEO and the author of Phoenix-RTOS, told EE Times that he released the RTOS to the open-source community because “I see the value [we can offer] is not so much in the operating system itself, but instead, in our ability to provide frameworks, libraries and support for the IoT community.”

The BSD license — under which Phoenix-RTOS has been made available — “focuses on user rights and allows for source code modifications,” Pisarczyk explained. “Just like Android — a free OS — has helped build a host of smartphone applications which led to the creation of a huge Android community, we want to see us help the community build a variety of IoT applications,” Pisarczyk said.

Heritage of Phoenix-RTOS

Chris Rommel, executive vice president for IoT and embedded technology at VDC Research, observed, “Branding an RTOS for the IoT is more about marketing than functionality. Most RTOS are used in systems that one could classify as ‘IoT.’”In a market where Phoenix-RTOS plays, competitors range from uCOS and ThreadX to FreeRTOS and Nucleus, according to Rommel. “There are others like Contiki, Zephyr, and mbed as well,” Rommel said.

The unmistakable heritage of Phoenix Systems is the company’s development of an RTOS for smart meters and smart grids. The Warsaw-based company offered their RTOS supporting such powerline communication standards as PRIME.

Rommel, who remembers Phoenix-RTOS from the days of smart metering, sees Phoenix-RTOS as “a niche offering.”

The Phoenix CEO begs to differ. While acknowledging competitors like Contiki, WindRiver Rocket, Zephyr and FreeRTOS, Pisarczyk stressed rival RTOSes are designed to function in “too simple an application environment and have limitations in memory size, number of threads and processes.” Moreover, they come with no device drivers, and there are no IoT communication stacks, he added. “That’s where we differ.”

RISC-V + Phoenix-RTOS

As Pisarczyk tells the story, the company and its RTOS have evolved over 20-some years, just as functions designed onto ASICs to support smart meters have transitioned from hardware to software. The latest incarnation of Phoenix-RTOS, which he calls a “state-of-the-art advanced microkernel-based RTOS for IoT,” serves as a “foundation for software-defined solutions.” Its secret sauce is scalability. Pisarczyk said its RTOS scales by supporting everything from “a common microcontroller” running simple, efficient IoT applications to RISC-V designed for operations in a much more sophisticated environment.

Most importantly, the latest Phoenix-RTOS comes with features essential to software development. Implemented in a small microkernel (22,000 lines of code), Phoenix-RTOS allows a variety of “features derived from general-purpose operating systems,” Pisarczyk claimed. These include processes and threads, pre-emptive scheduling and high-precision timer support, fine-grained spinlocks and code reentrancy — for low latency, low jitter, multi-core support, virtual memory and paging support for 32-bit and 64-bit, memory management based on objects such as memory sharing and memory inheritance, memory mapped objects so that files can be mapped directly into memory, dynamic linking and shared libraries support.

For more information, please visit EE Times.