码迷,mamicode.com
首页 > 其他好文 > 详细

第九章

时间:2016-07-04 11:25:14      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:

编写一款支持HAL 的Linux 驱动程序的步骤

第1 步 编写Linux 驱动

“编写Linux 驱动”,从表明上看是废话,但如果要为linux 驱动添加HAL,而且想尽量保护敏感数据。Linux 驱动的代码就要尽量简洁,尽可能将业务逻辑放到HAL Library 中。

第2 步:编写HAL

HAL Library就是普通的Linux Library (*.so)文件。但这类库文件有接口。通过该HAL MODULE_INFO SYM 变量实现。Service Library是通过在这个接口中定义的ID定位HALLibrary的。

第3 步:编写Service Library

尽管这步并不是必需的,但新的HAL 架构要求我们这样做。Service Library 也是Linux Library 。这一步比较灵活。Service Library 可以是一般的Linux Library,也可以是JNI Library。

HAL是建立在linux程序上的一套程序库,

为什么要在Android中加入HAL,在linux驱动中一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码。其目的在于:

统一硬件的调用接口。

解决了GPL版权问题。‘

针对一些特殊要求。

 andriod hal架构

在Andriod系统中使用程序库,条用位于内核空间的Linux驱动,然后Andriod应用程序。

为LED增加HAL

将所有业务逻辑从LED驱动移植到HAL模块,而LED驱动模块只保留读写寄存器的工程能。

第九章

标签:

原文地址:http://www.cnblogs.com/Abagnale/p/5639767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!