Virtualization on Microcontrollers: Page 3 of 6

October 15, 2018 //By Stefaan Sonck Thiebaut, OpenSynergy
Virtualization on Microcontrollers
Embedded virtualization is a key technology for the future of automotive. Virtualization makes it possible to allocate the resources of a processor to multiple safely separated applications and operating systems. This is an effective approach to redesign the vehicle electronics architecture, take full advantage of the performance of processors and address the growing complexity of software-defined functions.

The Intel x86 architecture has similar extensions.  In addition, many SoC vendors have selected GPUs or added system-level components that facilitate virtualization of the on-chip devices.

Fig. 2: A Cockpit Controller is a domain controller driving many displays
in the car unifying infotainment functionality with a digital instrument cluster.  

This technology is already in production today.  One prominent example is the so-called “Cockpit Controller” which is a domain controller driving many displays in the car and unifying infotainment functionality with a digital instrument cluster.  In this case, the hypervisor makes it possible to run different software frameworks (e.g. Android for the infotainment, Linux for the instrument cluster, and a separate OS for safety-critical functions) on one SoC.  The Cockpit Controller provides a more integrated user experience and is cheaper and more flexible compared to a multi-ECU approach.


The need for virtualization on application processors, in domains such as infotainment, is due to the confluence of (1) the requirement to integrate applications with very different requirements modularly on a single processor with (2) a new generation of processors that have the computing power and hardware extensions to run these applications virtualized on a single processor using a hypervisor.

Now the same is happening in other vehicle domains relying more strongly on microcontrollers and real-time processors.

Domain controllers running on a microcontroller or real-time processor need to integrate an ever-increasing amount of software.  This software is often developed according to different functional safety levels or sourced from different suppliers so that freedom from interference must be insured.  In addition, as the amount of software increases, the modularity has to extend from the development process to software updates after the device has been produced: it must be possible to update one software function without the risk to affect others or the need to completely requalify the entire device.

Design category: 

Vous êtes certain ?

Si vous désactivez les cookies, vous ne pouvez plus naviguer sur le site.

Vous allez être rediriger vers Google.