Figure 1: PikeOS Architecture for Automotive
The secure foundation of all of this is the real-time operating system and hypervisor PikeOS. For the project, PikeOS' capabilities as a hypervisor and its fundamentals in terms of safety (certifications including ASIL D according to ISO 26262, SIL 4 according to EN 50128 and EN 50657) and security (certification EAL 5+ according to Common Criteria) were particularly in demand. By securely separating applications in space and time, the architecture is robust enough to couple real-time capability, safety and security. This is done in a performant manner while simultaneously executing computationally intensive tasks based on the research results. The architecture comprises among other entities the real-time operating system ERIKA suitable for automotive, ROS2 as well as a Linux partition.
Read more about PikeOS in Ampere: https://www.sysgo.com/blog/article/tackling-mixed-criticality-for-automotive
To demonstrate the new capabilities, the researchers created two demonstrators: Bosch created a predictive cruise-control application. This enables more energy-efficient driving and therefore offers the potential to reduce energy costs and make driving more sustainable. The second demonstrator, built by THALES Italy, is an obstacle detection and avoidance system. Here, the exemplary interaction between machine learning, complex sensors and tracking algorithms was tested with the aim of increasing passenger safety. Although computationally intensive, both demonstrators run more performantly than it would have been possible by using conventional means.
The AMPERE project also aims to enable the predictable execution of hardware-accelerated tasks on FPGA-based system-on-chips platforms. To achieve this, it uses the FRED framework, which is a software infrastructure that manages the communication and scheduling of FPGA-accelerated tasks. The FRED framework consists of two main components: the in-kernel components, which handle the low-level interaction with the FPGA device, and the user-space components, which provide a high-level interface for the application developers. Initially, the FRED in-kernel components were developed as a collection of Yocto layers, which made them work with Peta Linux v2020.2-compatible kernel versions. This allowed the FRED framework to run on a bare-metal set-up on the target platform. However, to support more advanced features, such as virtualization and security, the FRED framework had to be integrated with the PikeOS hypervisor and its companion Linux distribution, ElinOS. Therefore, SYSGO and Scuola collaborated to port the FRED in-kernel components to be compatible with ElinOS 7.0, and to create a single project that contains all the necessary components to run FRED-based applications on top of PikeOS. The project is hosted at https://github.com/fred-framework/fred-elinos, where detailed instructions are available to compile and flash the framework onto a memory card, ready to be executed on the target platform. As a future task, SYSGO is working on the topic of FPGA virtualization using FRED and PikeOS, which aims to integrate applications with different levels of criticality on a single hardware platform and also improve the compatibility, interoperability, security, and isolation of FPGA resources among multiple applications and users. This would allow new applications and domains that can benefit from FPGA virtualization in mixed-criticality systems.
The groundwork laid with Ampere enables up to 30 percent savings in CPS software development costs and up to three times higher performance of these systems while meeting safety and security requirements.
More information at www.sysgo.com/pikeos
More information at www.sysgo.com/elinos