Android Automotive OS知识体系

Posted xhBruce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Automotive OS知识体系相关的知识,希望对你有一定的参考价值。

android Automotive OS知识体系

Android 知识体系
Automotive概览

1、简介

Android Automotive OS (AAOS) 是汽车制造商在汽车中打造的信息娱乐平台。驾驶人员可以直接将兼容的媒体应用下载到汽车中,无需使用手机,并使用专为车载显示屏设计的界面。
什么是 Android Automotive?

  Automotive 借助各种总线拓扑,很多汽车子系统都可以实现互连以及与车载信息娱乐 (IVI) 系统的连接。不同的制造商提供的确切总线类型和协议之间有很大差异(甚至同一品牌的不同车型之间也是如此),例如控制器局域网 (CAN) 总线、区域互连网路 (LIN) 总线、面向媒体的系统传输 (MOST) 总线以及汽车级以太网和 TCP/IP 网络(如 BroadR-Reach)。


  Android Automotive 的硬件抽象层 (HAL) 为 Android 框架提供了一致的接口(无需考虑物理传输层)。此车载 HAL 是开发 Android Automotive 实现的接口。


  系统集成商可以将特定于功能的平台 HAL 接口(如 HVAC)与特定于技术的网络接口(如 CAN 总线)连接,以实现车载 HAL 模块。典型的实现可能包括运行专有实时操作系统 (RTOS) 的专用微控制器单元 (MCU),该微控制器单元用于 CAN 总线访问或类似操作,可通过串行链路连接到运行 Android Automotive 的 CPU。除了专用 MCU,还可以将总线访问作为虚拟 CPU 来实现。只要实现符合车载 HAL 的接口要求,每个合作伙伴都可以选择适合硬件的架构。

1.1 Android Automotive 和 Android

了解 Android Automotive 与整个 Android 生态系统之间的关系至关重要:

  • Android Automotive 就是 Android 平台。Android Automotive 并非 Android 的分支或并行开发版本。它与手机和平板电脑等设备上搭载的 Android 使用相同的代码库,位于同一个存储区中。它基于开发时间逾 10 载的强大平台和功能集构建而成,因此能够利用现有的安全模型、兼容性计划、开发者工具和基础架构,同时继续保持较高的可定制性和可移植性,完全免费提供并且开源。
  • Android Automotive 扩展了 Android 平台。在将 Android 打造为功能完善的信息娱乐平台的过程中,我们增加了对汽车特定要求、功能和技术的支持。Android Automotive 将是一个一站式全栈车载信息娱乐平台,就像现在的 Android 系统之于移动设备一样。

十多年来,运营商、原始设备制造商 (OEM) 和开发者一直在使用 Android 平台打造优质的设备、应用和体验。现在,Android Automotive 将 Android 的强大功能引入汽车之中,让汽车制造商得以打造满足数字时代需求的强大信息娱乐系统。

1.2 Android Automotive 和 Android Auto

两者的命名方式可能有点让人迷惑不解。下面介绍了它们之间的区别:

  • Android Auto 是一个基于用户的手机运行的平台,可通过 USB 连接将 Android Auto 用户体验投射到兼容的车载信息娱乐系统。Android Auto 支持专为车载用途而设计的应用。如需了解详情,请访问 developer.android.com/auto。
  • Android Automotive 是直接基于车载硬件运行的操作系统和平台。它是一个可定制程度非常高的全栈开源平台,可为信息娱乐体验提供强大的技术支持。Android Automotive 支持专为 Android 打造的应用,以及专为 Android Auto 打造的应用。

1.3 架构

车载 HAL 是汽车与车辆网络服务之间的接口定义:

  • Car API: 内有包含 CarSensorManager 在内的 API。如需详细了解受支持的 API,请参阅 /platform/packages/services/Car/car-lib
  • CarService: 位于 /platform/packages/services/Car/
  • 车载 HAL: 用于定义 OEM 可以实现的车辆属性的接口。包含属性元数据(例如,车辆属性是否为 int 以及允许使用哪些更改模式)。位于 hardware/libhardware/include/hardware/vehicle.h。如需了解基本参考实现,请参阅 hardware/libhardware/modules/vehicle/

2、车载信息娱乐 (IVI) 系统

其他请查看 Android 知识体系,关于基于Android的车载娱乐系统单独在里记录 Android Automotive OS知识体系

2.1 VehicleService

编号文档说明
1【IVI】VehicleService启动VehocleHal相关服务
2【IVI】车载设备硬件抽象层VHAL车载属性介绍,set\\get 简要流程

2.2 CarServiceHelperService

编号文档说明
1【IVI】CarServiceHelperService启动CarServiceHelperService车载服务启动入口

2.3 CarService

编号文档说明
1【IVI】CarService启动CarService车载相关服务创建并初始化,实质处理类ICarImpl
2【IVI】Car.java获取Car相关服务和对应管理器获取Car相关服务

3、虚拟机AVD

【IVI】Automotive虚拟机没有System image

以上是关于Android Automotive OS知识体系的主要内容,如果未能解决你的问题,请参考以下文章

Android Automotive OS知识体系

Android Automotive OS | Automotive Ethernet

Android Automotive OS | Automotive Ethernet

Android Automotive OS | Instrument Cluster

Android Automotive OS | 车载相机HAL

Android Automotive OS | 车载相机HAL