Many automobile subsystems interconnect with every different and the in-vehicleinfotainment (IVI) machine via numerous bus topologies. The precise bus type andprotocols vary extensively among manufacturers (and even among distinct vehiclemodels of the identical emblem); examples encompass Controller Area Network (CAN) bus,Local Interconnect Network (LIN) bus, Media Oriented Systems Transport (MOST),in addition to automotive-grade Ethernet and TCP/IP networks inclusive of BroadR-Reach.
The Android Automotive hardware abstraction layer (HAL) presents aconsistent interface to the Android framework no matter physical transportlayer. This vehicle HAL is the interface for developing Android Automotiveimplementations.
System integrators can enforce a vehicle HAL module by way of connectingfunction-unique platform HAL interfaces (e.g. HVAC) with era-specificnetwork interfaces (e.g. CAN bus). Typical implementations may additionally consist of adedicated Microcontroller Unit (MCU) running a proprietary actual-time operatingsystem (RTOS) for CAN bus get right of entry to or comparable, which may be connected via a seriallink to the CPU strolling Android Automotive. Instead of a dedicated MCU, it mayalso be possible to enforce the bus get entry to as a virtualized CPU. It is up toeach partner to pick out the architecture suitable for the hardware as long as theimplementation fulfills the interface requirements for the vehicle HAL.Architecture
The vehicle HAL is the interface definition between the automobile and the vehiclenetwork provider:
Figure 1. Vehicle HAL and Androidautomotive structureCar API. Contains the APIs, inclusive of CarSensorManager.For details on supported APIs, see /platform/applications/offerings/Car/car-lib.CarService. Located at/platform/programs/offerings/Car/.Vehicle HAL. Interface that defines the vehicle propertiesOEMs can enforce. Contains property metadata (as an example, whether or not the vehicleproperty is an int and which alternate modes are allowed). Located athardware/libhardware/include/hardware/automobile.h. For a basicreference implementation, talk to hardware/libhardware/modules/car/.
For greater details, see Vehicle Properties.Security
The vehicle HAL helps these degrees of safety when accessing facts:Accessible to app with permission (via car provider).Accessible without permission (through vehicle carrier).
Direct access to automobile residences is permitted most effective to chose systemcomponents with automobile community with selinux get right of entry to protection. Mostapplications undergo extra gatekeeping by vehicle provider (for example, onlysystem packages can manage HVAC because it calls for gadget permission grantedonly to system apps).
Content and code samples in this page are problem to the licenses defined within the Content License. Java and OpenJDK are trademarks or registered logos of Oracle and/or its associates.
[“type”: “thumb-down”,”id”: “missingTheInformationINeed”,”label”:”Missing the records I need”,”type”: “thumb-down”,”identity”: “tooComplicatedTooManySteps”,”label”:”Too complicated / too many steps”,”kind”: “thumb-down”,”id”: “outOfDate”,”label”:”Out of date”,”kind”: “thumb-down”,”identification”: “samplesCodeIssue”,”label”:”Samples / code problem”,”type”: “thumb-down”,”id”: “otherDown”,”label”:”Other”][“type”: “thumb-up”,”identification”: “easyToUnderstand”,”label”:”Easy to understand”,”type”: “thumb-up”,”identification”: “solvedMyProblem”,”label”:”Solved my trouble”,”type”: “thumb-up”,”identity”: “otherUp”,”label”:”Other”]