Microprocessors normally run a compact RTOS while microprocessors, with their advanced memory-management units and higher performance, typically run larger operating systems like Linux. These days, systems often have a mix of microprocessors and microcontrollers, including system-on-chip (SoC) solutions that use this combination to handle real-time and low-power situations while delivering high performance when needed. This type of SoC is becoming more common in safety applications such as automotive solutions.
Two operating systems that play in this and other safety environments are Wittenstein’s SafeRTOS and Blackberry’s QNX. SafeRTOS shares an API with the popular FreeRTOS that’s now supported by Amazon Web Services. FreeRTOS is an open-source RTOS while SafeRTOS is a functionally equivalent, closed-source solution designed from the ground up to meet demanding safety requirements. It’s pre-certified to IEC 61508-3 SIL 3 and ISO 26262 ASIL D by TÜV SÜD. The same is true for QNX, which makes the pair very useful for SoCs that can take advantage of both.
One of the initial targets for the QNX/SafeRTOS combination is Renesas’s line of SoCs that incorporate Arm Cortex-A microprocessors with Cortex-R and Cortex-M microcontrollers.
Wittenstein’s and Blackberry’s development tools were both based on gcc and the Eclipse IDE, making integration easier. A single platform can be used to develop and debug applications running across the two operating systems.
The other piece to the puzzle is a shared-memory, interprocessor communication (IPC) system. The IPC API can utilize other underlying communication systems, but shared memory is the norm for most SoC solutions.
QNX also has hypervisor support, allowing it to host other operating systems on its microprocessors. Though it’s possible to run FreeRTOS/SafeRTOS in a virtual machine (VM), a VM will typically run an operating system like Linux or Windows. It’s also able to run other safety-related operating systems like AUTOSAR.
Having two certified solutions available for safety-oriented application platforms can significantly improve the development process while reducing the amount of time needed to certify a system. The combination can also target applications that don’t have these types of safety requirements.