In the course of the more and more increasing amount of CPU cores on modern embedded systems, virtualization has become an important issue in current and future projects. The main advantages of virtualization in industrial applications are cost reduction and space-saving by using a single hardware for multiple tasks. In the past, user interfaces and real-time automation systems had to be separated into multiple hardware systems, as the fancy UI would interfere with the real-time automation system. With a so-called partitioning hypervisor like Jailhouse [1], a project managed by Siemens, it is possible to combine real-time capability and virtualization.

Jailhouse makes use of the Arm® Virtualization Extensions to separate CPUs, GPUs, and peripherals like CAN, Ethernet, I2C, SPI, and others. The separated units are called cells and their payloads are called inmates. These cells cannot interfere with each other, as the hypervisor controls the cell's access to the system's resources. In an example scenario with the RZ/G1H, one could use 6 cores and the GPU for a sophisticated Qt user interface, 1 core for a FreeRTOS application using the CAN interface, and 1 core for a bare metal application using the I2C interface. Both the FreeRTOS and the bare metal application could run in a real-time environment, as they are separated from the other components of the system and have exclusive access to their dedicated resources.

Siemens aims to make Jailhouse a certified hypervisor by keeping its code base as small as possible. Emtrion has introduced official Jailhouse support for their RZ/G series boards like the emCON-RZ/G1H [2] and presents its customers with developer kits, ready to run Jailhouse with inmates like Linux and FreeRTOS [3].

Purchase directly from https://www.emtrion.de/en/devkits_jailhouse.html or contact Emtrion.
Email: [email protected]
Phone: +49 721 62725-20

[1] https://github.com/siemens/jailhouse
[2] https://www.emtrion.de/en/details_products-accessoires/emcon-rz-g1h-67.html
[3] https://www.emtrion.de/en/devkits_jailhouse.html