zoukankan      html  css  js  c++  java
  • 读书笔记(九)

     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/

  • 相关阅读:
    移动端
    移动端
    Jmeter-接口功能测试
    Jmeter-连接 MySQL数据库
    Jmeter-安装与配置
    postman接口功能测试
    移动端
    移动端
    loadrunner实战篇
    【转载】格式化存储装置成为 Ext2/Ext3/Ext4 档案系统
  • 原文地址:https://www.cnblogs.com/lkm-6398/p/5638305.html
Copyright © 2011-2022 走看看