Download the PDF of this article.
The Industrial Internet of Things (IIoT) requires determinism and security, and that’s exactly what a quartet of real-time operating systems (RTOSs) seen at this year’s Embedded World delivers. The four in question are Blackberry’s QNX Nucleus, Lynx Software’s LynxSecure, Express Logic’s X-Ware IoT Platform, and Micrium’s µC/OS. All address a range of application areas—areas like automotive and aviation, in addition to the IIoT. Each has its distinctive features and audience.
The 25-Kbyte IoT Stack
X-Ware IoT Platform (Fig. 1) is Express Logic’s industrial grade IoT Device-to-Cloud platform that runs on Express Logic’s ThreadX RTOS. It targets deeply embedded IoT sensors, devices, edge routers, and gateways. It takes advantage of the NetX Duo dual IPv4/IPv6 TCP/IP stack.
1. Express Logic’s X-Ware IoT Platform can use as little as 25 Kbytes of flash memory.
NetX Duo includes new IoT protocol support for IPv6 over Low Power Wireless Personal Area Networks (6LoWPANs), Message Queue Telemetry Transport (MQTT), Constrained Application Protocol (CoAP) and Lightweight M2M (LWM2M). The 25-Kbyte stack can handle these protocols on a 802.15.4 radio. NetX Secure TLS or DTLS can be used to secure data at the socket layer, while NetX Duo IPsec works at the network layer.
The safety certification standards the software addresses include IEC 61508 SIL 4, IEC 62304 Class C, ISO 26262 ASIL D, EN 50128 SW-SIL 4, UL 60730-1 Annex H, CSA E60730-1 Annex H, IEC 60730-1 Annex H, 60335-1 Annex R, IEC 60335-1, and Annex R, 1998. The certifications span the application gamut from medical devices to trains and transportation.
Secure Virtualization
Lynx Software’s LynxSecure (Fig. 2) separation kernel hypervisor is small and designed to deliver high-end safety and security. Its compact nature makes it interesting for IoT and industrial applications—not just military and avionics—because safety and security certifications are becoming more important in these areas, as well. In many cases this means controlling the flow of data and control from one virtual machine (VM) to another.
2. Lynx Software’s LynxSecure hypervisor can restrict data flow using controlled shared memory.
The bare-metal LynxSecure hypervisor puts more control in the designer’s hands, from memory allocation to CPU scheduling. It could be considered a Type 0 hypervisor because of its minimal configuration. A Type 1 hypervisor is also a bare-metal platform that does not require a host operating system and has direct access to all peripherals. A Type 2 hypervisor runs on top of an operating system.
What’s interesting these days is that most of the hypervisors are considered Type 1 even though they are installed with an operating system like Linux or Windows. In fact, Linux’s kernel-based virtual machine (KVM) and Microsoft’s Hyper-V are considered Type 1 hypervisors. The “host” operating system winds up running as a VM.
As with many embedded hypervisors, LynxSecure is designed to run without an associated operating system. It can run bare-metal VMs, allowing very compact systems to be implemented. It provides protection against attacks such as rootkits and hardware subversion by explicit runtime configuration in addition to a least privilege security audit feature. It uses secure boot and Trusted Platform Module (TPM) support to provide a secure operating environment. It also supports static resource allocation and the use of the hardware’s execute disable (XD) feature.
Refining µC/OS
Micrium’s µC/OS 5 kernel is designed to be resource-efficient with low overhead. It only needs 4 Kbytes to 14 Kbytes of code space and starts at 2 Kbytes of data space, depending upon the platform and services. Its real-time preemptive scheduler can be swapped with an optional round-robin scheduler to address different application needs. It supports an unlimited number of tasks, priorities, and kernel objects.
3. Micrium’s µC/OS 5 kernel is designed to work with a suite of services from networks to GUIs.
The µC/OS 5 kernel is not designed to be used alone. Micrium has a number of optional services that can be integrated with the kernel, including a file system, TCP/IP stacks, and peripheral support for devices such as USB-Host, USB-Device, CAN, and Modbus. The system has built-in debugging hooks and advanced error handling.
The µC/OS 5 kernel is compatible with Micrium’s μC/Probe diagnostic tool. This runtime system can display debug information without any additional target resident code. The interface also allows changes to be made. The μC/Probe program can operate with μC/Probe-aware kernels, as well as Micrium’s TCP/IP stack that can be used with or without the RTOS.
Micrium supports two earlier µC/OS incarnations, µC/OS-II and µC/OS-III, that are still in use. The µC/OS 5 release also includes a new addition, Micrium’s Platform Builder (Fig. 4). This is designed to build projects based on a developer’s specifications. Platform Builder resolves module dependencies and generates start-up code. The projects generated can target a range of third-party IDEs.
4. Micrium’s Platform Builder is designed to speed configuration of µC/OS 5 and the addition of related services.
Micrium also announced its Micrium OS for makers program. This is designed to provide free versions of the Micrium OS to educators, students, hobbyists, and certified partners. Of course, the idea is to have them turn their ideas into commercial products that would require purchasing a license for use in the products.
An RTOS for the Car
Blackberry’s QNX Software Development Platform 7.0 (QNX SDP 7.0) is a 64-bit OS that targets high safety and security applications, such as automotive systems (Fig. 5). It has certifications for ISO 26262 ASIL D (the highest level achievable for automobiles), IEC 61508 SIL 3 (for industrial automation systems), and complies with IEC 62304 (life-critical Class III medical devices).
5. Blackberry’s QNX is designed to deliver the underpinnings for autonomous and connected cars for all levels of automation.
The QNX SDP 7.0 is built on the QNX Neutrino Realtime OS microkernel, a high-performance RTOS with enhanced kernel-level security that includes advanced features like file encryption, adaptive time partitioning, anomaly detection, and multi-level policy-based access control. It also has a high availability framework needed for redundant systems. The QNX SDP 7.0 is supported by the QNX Momentics Tool Suite.