没有合适的资源?快使用搜索试试~ 我知道了~
讲述了linux内核驱动的HIDL接口,主要分析HIDL整体架构,然后写驱动,整体运用HIDL架构。
资源推荐
资源详情
资源评论
HIDL 接口实现
1.背景
HIDL
的目标是,可以在无需重新构建
HAL
的情况下替换框架。
HAL
将由供应商或
SOC
制造商构建,并放置在设备的/vendor 分区中,这样一来,就可以在其自己的分区中通过
OTA
替换框架,而无需重新编译
HAL
。
2.操作实例
以实例着手,在 MTK 平台,用 HIDL 实现调用 linux 内核驱动,并测试。
功能: a. 在 linux 驱动层实现 helloworld 驱动,功能打印”hello world!”。
b. 设计 HIDL 调用内核中 helloworld 驱动,并提供接口。
c.测试程序调用 HIDL 接口,观察是否有打印“hello world!”
d. 实现 HIDL 与驱动层的数据交互,HIDL 往内核写入数据并读取。
3.流程
HIDL 接口文件定义
有关 HIDL 接口与软件包规则,详见接口和软件包。
进入代码 HAL 层,自定义软件包。先以 attempt 命名这个例子。
创建 attempt HIDL 目录:
mkdir -p hardware/interfaces/attempt/1.0/default
接着创建 Iattempt.hal。
hardware/interfaces/attempt/1.0/IAttempt.hal
意义: 定义一个 Iattempt.hal 接口文件,简单添加一个 helloWorld 接口,传入 string,返回 string,
在之后会实现这个接口。
生成 HAL 相关文件
使用 hidl-gen 工具 hidl-gen 代码路径为:system/tools/hidl
(1) 安装 hidl-gen:
dx@jacob-All-Series:~/project/AndroidQ$lunch
dx@jacob-All-Series:~/project/AndroidQ$make hidl-gen
编译后路径存在
: out/host/linux-x86/bin/hidl-gen
资源评论
小坚学Linux
- 粉丝: 3809
- 资源: 51
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功