zoukankan      html  css  js  c++  java
  • HAL——硬件抽象层读书笔记

    本章介绍了——HAL(硬件抽象层),建立在linux驱动之上的一套程序库。它并不属于linux内核,而是属于linux内核层之上的应用层。

    Google为了满足这些不想开源的linux驱动作者的要求,在android层次结构中的运行库层增加了一个HAL,从而统一硬件的调用接口,解决了GPL版权问题并且针对一些特殊的要求。

    在新的HAL架构中核心代码仍然没变,只是增加了新的入口代码,使这些程序可以自动被android系统识别。Android HAL的原代码存储的位置并不固定,一般会存储在<android源代码目录>/hardware目录中。

    在第七章实现的LED驱动并没有添加HAL代码,而是采用的多种测试方法都是直接通过直接访问LED驱动的设备文件的方式与LED驱动交互。这节将对之前的经行一次改动,首先编写linux驱动,然后编写HAL Library,最后编写Service library。最后对程序经行精简和测试。

    编写HAL模块的步骤和原理,第一步:定义结构体和宏,第二步:编写HAL模块的open函数,第三步:定义hw_module_methods_t结构体变量,第四步:定义HAL_MODULE_INFO_SYM变量,第五步:编写HAL模块的close函数,第六步:编写控制LED的函数。

    http://www.cnblogs.com/SJ-0325/

  • 相关阅读:
    使用递归遍历目录
    Isseck 定位文件流
    二:C标准库文件I/O函数
    IPC进程通信
    操作系统知识总结
    Makefile简单使用
    人际交往
    AIX ksh补全命令
    java.lang.IllegalArgumentException: Wildcard string cannot be null or empty.
    WEB项目实现QQ在线推广功能
  • 原文地址:https://www.cnblogs.com/SJ-0325/p/5649412.html
Copyright © 2011-2022 走看看