When an industrial robot is handling heavy automotive assemblies working in close partnership with workers, humans cannot be put in danger.
When you are speeding down a freeway and a car stops abruptly ahead of you, your vehicle must stop safely in time.
There is little room for delay in safety-critical situations like these and software latency is a risk that just can’t be taken.
Historically, the real-time subsystems were discrete from the main processing elements of embedded systems but the desire to dramatically reduce cost, power and footprint of the electronics, coupled with the availability of powerful multicore processors is driving system architects to integrate all of these functions onto a single board and in many cases a single chip. These mixed criticality systems combine rich operating systems like Linux and Windows with real-time applications and bare metal code.
The answer is robust interoperability with real-time platforms, an important feature in the security- and safety-critical applications associated with emerging industrial and automation systems. Products built using the LynxSecure separation kernel hypervisor will benefit from real-time application support with FreeRTOS as a guest OS and ease of application porting as FreeRTOS is often used by existing legacy systems.
Lynx announced in February 2020 that it would be pursuing FreeRTOS as a supported guest OS on LynxSecure. It was selected given the large marketshare this operating system enjoys across a diverse set of applications. The vision was to enable all of that open source code base and ecosystem to operate seamlessly in a mixed criticality environment. Thanks to development support from DornerWorks, that has become a reality.
“The inclusion of FreeRTOS as a guest of the LynxSecure separation kernel hypervisor will give developers an easy and low-cost path to development and integration of complex industrial systems, with a path to a fully safety-certifiable solution,” said Richard Barry, founder of FreeRTOS.
DornerWorks embedded engineer Stewart Hildebrand, helped complete the FreeRTOS port to LynxSecure using a FIFO component that allows FreeRTOS applications to communicate via a shared memory page. FreeRTOS applications, like other guest OS supported by LynxSecure can use the FIFO to send data between Linux and/or FreeRTOS guest OSes:
FreeRTOS <=> FreeRTOS
FreeRTOS <=> Linux
Linux <=> Linux
Each FIFO is designed to operate in one direction. Communication in both directions requires the instantiation of two FIFOs. For those who wish to migrate safety-critical portions of their application from FreeRTOS for prototyping to LynxOS-178 for safety certification, the virtual FIFO provides a straight forward, light weight and high-performance solution.
“We also integrated FreeRTOS into the Xilinx SDK to enable the typical Xilinx tool chain workflow and make it easy for a developer to spin up a guest FreeRTOS OS on LynxSecure,” Hildebrand said. “This makes it easier to use. Plug it into the XSDK, create your project in XSDK as you normally would, and your resulting built binary executable gets integrated into LynxSecure System Runtime Package (SRP).”
Simply boot up the Xilinx Zynq UltraScale+ ZCU102 Evaluation Kit with an SD card containing the FreeRTOS-integrated SRP and you’re ready to take advantage of the ease of development, real-time, and path to certification available with LynxSecure.
Linux, Lynx Simple Applications (bare-metal guests), LynxOS-178, and now FreeRTOS are all supported as guest OSes on LynxSecure for Arm processors. Lynx selected FreeRTOS for its popularity in leading edge embedded systems, large pre-existing code base, ease of interoperability with open source Linux, and its clear migration path to a commercially available safety certifiable RTOS. Many of these reasons were also the motivation behind DornerWorks porting FreeRTOS to the Xilinx Zynq UltraScale+ MPSoC using DornerWorks Xen-based Virtuosity hypervisor. Similar embedded systems are now supporting products developed for NASA’s Artemis missions to the moon and Mars planned for coming years.