zoukankan      html  css  js  c++  java
  • 读书笔记第九章

    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共享库。

  • 相关阅读:
    Android Studio使用教程(一)
    Android Studio设置字体
    Android Studio设置字体
    8.8 Deep Learning Software
    梯度下降法与牛顿迭代法 求拟合参数
    什么是Condition Number(条件数)?
    什么是卷积?
    SLAM数据集
    TensorFlow安装教程
    Caffe
  • 原文地址:https://www.cnblogs.com/zhaoshuaishuai/p/5652863.html
Copyright © 2011-2022 走看看