读书笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记相关的知识,希望对你有一定的参考价值。
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 驱动必须开源。
编写 HAL模块的步骤和原理如下。 第1步:定义结构体和宏。
第 2 步编写 HAL模块的open 函数。
第3 步:定义 hw_module_methods_ t 结构体变量。
第4 步: 定义 HAL_MODULE_INFO_SYM 变量。
第5步:编写 HAL模块的 close 函数。
第 6步z 编写控制 LED 的函数。
在安卓系统中使用 Linux驱动有两种方式,一种是通过传统的方式直接与Linux驱动交互。例如, 直接读写设备文件的数据,另外一种是 android特有的,就是通过 HAL模块。
http://home.cnblogs.com/u/lkm-6398/
以上是关于读书笔记的主要内容,如果未能解决你的问题,请参考以下文章