2021-07-28笔记(linux)

本文介绍了Android硬件抽象层(HAL)的通信方式,特别是绑定式HAL使用HIDL进行进程间通信。同时,详细阐述了HAL与驱动、框架层的交互,并讲解了.mk和.bp配置文件的生成过程。此外,还提供了Linux命令如find、cat、grep等的使用教程,帮助读者理解和操作Linux系统。
摘要由CSDN通过智能技术生成

hal layer designed

2021 年 7月 19—20日 贺兴枞
导读:
原文链接:https://blog.csdn.net/mr_raptor/article/details/8069588

01hal层的通信方式:
framework和hal运行于不同的进程,所有的HAL采用新的HIDL技术来完成。作为此变化的一部分,运行 Android 8.0 的设备必须支持绑定式
(本设计采用绑定式 HAL。以 HAL 接口定义语言 (HIDL) 表示的 HAL。这些 HAL 取代了早期 Android 版本中使用的传统 HAL 和旧版 HAL。在绑定式 HAL 中,Android 框架和 HAL 之间通过 Binder 进程间通信 (IPC) 调用进行通信。所有在推出时即搭载了 Android 8.0 或后续版本的设备都必须只支持绑定式 HAL。)

02hal层与上下层的联系:
下层驱动:直接往驱动节点里面读写数据,操作驱动节点的方法主要有三个open、write、read。
上层框架层:通过回调函数,types.hal定义的是一些数据结构,xxx.hal定义的是从Framework往HAL调用的接口(不需要的话可以不要),而xxxCallback.hal则是HAL往Framework回调的接口。

03 .mk以及.bp配置文件的生成
写完这三个hal文件后,在源码根目录下导环境变量,然后进入到/hardware/interfaces目录执行如下命令:
./update-makefiles.sh
这样就会生成一些bp文件、mk文件和一些必要的东西。
04从驱动节点读写数据
函数原型: int read(int handle,void *buf,int len);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值