zoukankan      html  css  js  c++  java
  • 第9章 硬件抽象层:HAL

    HAL(硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。在传统的Linux系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码。

    编写一款支持HAL的Linux驱动程序的步骤:

        第1步:编写Linux驱动

        第2步:编写HAL Library

        第3步:编写Service Library

        在编写Linux驱动以及与驱动相关的程序的过程中应分为段测试每一部分程序,测试当然要从Linux驱动开始,每编写完一部分,应使用相应的方法进行测试,以便将当前编写的程序的Bug降到最低。任何被系统自动调用的程序都会有一个标准的接口,这个接口相当于一个约定的规则,不管任何程序,只要遵循这个规则,就可以成功被调用。既然HAL模块也可以被Android系统自动调用,那个自然也拥有类似main或init函数的接口,只不过这个接口不是函数,而是一个固定名称的结构体变量HAL_MODULE_INFO_SYM。也就是说HAL程序都必须有一个HAL_MODULE_INFO_SYM变量。

    编写HAL模块的步骤

        第1步:定义结构体和宏

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

        第3步:定义hw_module_methods_t结构体变量

        第4步:定义HAL_MODULS_INFO_SYN变量

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

        第6步;编写控制LED的函数

  • 相关阅读:
    今天光棍节,有新发现
    订购了一台Wp7,来测试一下让程序跑在wp7上吧
    3D场景编辑器 0.1
    新进展
    XXX(脏话)的腾讯,敢给我解释一下么?
    扣扣起司,架构设计(重复造轮子了,发现了MSNLite)
    关于WP7开发,随笔
    关于content管道,让我们继续
    微软,还我Input.Touch模块
    为什么要抛弃content
  • 原文地址:https://www.cnblogs.com/zgen1/p/5609524.html
Copyright © 2011-2022 走看看