A Paravirtualized Android for Next Generation Interactive Automotive Systems
Soham Sinha, Ahmad Golchin, Craig Einstein, RICHARD R. WEST · 2020
Android's APIs, bluetooth support and smartphone integration provide capabilities for user interaction with In-Vehicle Infotainment (IVI) and vehicle control services. However, Android is not developed to interface with automotive subsystems accessed via CAN bus networks. This work proposes a new automotive system based on our Quest-V partitioning hypervisor, which allows Android to communicate and interact with timing and safety-critical services managed by the Quest real-time OS (RTOS). Quest is used to filter and receive messages from Android applications and to interface with a car's internal CAN bus in a timing predictable manner. Android is then used to host IVI applications and provide a user interface to real-time vehicle services. This system design allows Android to leverage the timing guarantees of Quest, while securely isolating critical hardware components and memory regions. Quest-V hosts a paravirtualized Android 8.1 (Oreo) guest, which required modification of 126 lines of kernel code. Secure shared memory communication mechanisms between Android and a separate Quest guest provide real-time I/O to CAN bus networks.