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

读书笔记第九章

时间:2016-07-08 13:41:13      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

HAL ( Hardware Abstraction Layer,硬件抽象腔,是建立在 Linux 驱动之上的一套翻字库。这套程序不属于Linux内核,而是属于Linux内核层之上的应用层。Google为Android增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动之外,还有一个重要原因,就是保护“私人财产”。在传统的Linux系统中Linux驱动一般有两种类型代码:访问硬件寄存器的代码和业务逻辑代码。对于访问硬件寄存器的代码,并没有什么秘密可言,因为这都是调用的Linux内核的标准函数进行的标准操作。编写支持HAL的Linux驱动程序步骤:1.编写Linux驱动2.编写HAL library3.编写service。编写HAL模块步骤:1.定义结构体和宏2.编写HAL模块的open函数。3.定义hw_module_methods_t的结构体变量。4.定义HAL——MODULE_INFO_SYM5.编写HAL模块的close函数。6.编写LED的函数。在Android系统中使用Linux驱动两种方式。一种是通过传统方式直接与Linux驱动交互。如直接读写设备文件的数据。另外一种是Android特有的,就是通过HAL模块。HAL模块本质上是通过Linux共享库与Linux驱动交互。然后应用程序再访问Linux共享库。

读书笔记第九章

标签:

原文地址:http://www.cnblogs.com/zhaoshuaishuai/p/5652863.html

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