读书笔记(九)

 HAL:硬件抽象层函数

      HAL ( Hardware Abstraction Layer,硬件抽象腔,是创建在Linux驱动之上的一套翻字库。这套程序 j率并不属于 Linux 内核, 而是属于 Linux 内核层之上的应用层。 在传统的 Linux.系统中Linux驱动通常有两种类型的代码:访问硬件寄存器的代码和业务逻辑有 码。对于访问硬件寄存器的代码,并无什么秘密可言,由于这都是调用的 Linux 内核的标准函数〈如 io位ad32)进行的标准操做 而Linux驱动的业务逻辑部分对击有些企业或我的并不想将源代码公开。尽管这些Lipux.驱动都是免费给用户’使用的,因为这些Linux 驱动的实现涉及一些 技术专利或商业秘窑,若是公开源代码会有很大麻烦。但做为Linux.驱动,又不得不公开源代码。这是因为Linux 内核采用了 GPL协议(详见6J.3.节的介绍),而GPL协议要求全部使用基于GPL协议的源代码的程序必须开源因为 Linux 驱动属于 Linux 内核的一部分,所以Linux 驱动必须开源。 blog

    编写 HAL模块的步骤和原理以下。 第1步:定义结构体和宏。ip

                                                第 2 步编写 HAL模块的open 函数。io

                                                第3 步:定义 hw_module_methods_ t 结构体变量。变量

                       第4 步: 定义 HAL_MODULE_INFO_SYM 变量。module

                      第5步:编写 HAL模块的 close 函数。原理

                  第 6步z 编写控制 LED 的函数。硬件

在安卓系统中使用 Linux驱动有两种方式,一种是经过传统的方式直接与Linux驱动交互。例如, 直接读写设备文件的数据,另一种是 Android特有的,就是经过 HAL模块。程序

http://home.cnblogs.com/u/lkm-6398/技术

相关文章
相关标签/搜索