Android硬件抽象层HAL
最后更新于:2022-04-02 05:01:04
#### **设备驱动分为内核空间和用户空间两部分**
* 保护厂商利益(出发点)
* 内核空间主要负责硬件访问逻辑(GPL)
* 用户空间主要负责参数和访问流程控制(Apache License)
#### **用户空间部分设备驱动即为HAL Module**
* HAL Module通过设备文件访问内核空间部分设备驱动
#### **系统服务通过HAL Module对硬件进行管理**
* 系统服务通过JNI访问HAL Module
#### **应用程序通过系统服务对硬件进行访问**
* 应用程序通过Binder IPC访问系统服务
#### **整体架构图**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/993b4084be40134e34456e2907347f30_722x454.jpg)
';