Remote Device User Guide
Remote Device Introduction

"Remote Device" is the device virtualisation and sharing component within Processor SDK RTOS Automotive (PSDKRA) that can be used to share a physical device across multiple cores and operating systems (compute entities). An example showing the architecture and data / control flow for remote device framework for an example sharing scenario is shown in below figure

remote_device_block_diagram.png
Sharing Display and Capture device among R5F, C6x and A72 VM

Remote device is based on server client topology. Any compute entity that is responsible for driving a particular hardware resource assumes the role of server, while all other compute entities that require to use the device (via the server compute entity) assumes the role of clients The communication between the server and the clients are based on RPMSG IPC. Remote device server sends announcements indicating the available virtual channels for a device to all clients. The clients send sevice requests to the server for using the virtual channel. The server marshals the service requests to the hardware based on a access / scheduling policy.

The main modules in remote device are listed below

Remote device Modules Description
Protocol Server - client communication protocols
Server framework Core remote device functionality
Display Server Display virtualisation service
Display Examples Example application to demonstrate remote device capabilities
concerto Makefile build infrastructure
docs User documentation