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的函数

  • 相关阅读:
    目标检测应用化之web页面(YOLO、SSD等)
    传统候选区域提取方法
    非极大值抑制(Non-Maximum Suppression,NMS)
    Darknet windows移植(YOLO v2)
    线性判别分析 LDA
    SVM 支持向量机
    特征-相似度衡量
    布隆过滤器 Bloom Filter
    聚类算法
    图论--最大流
  • 原文地址:https://www.cnblogs.com/zgen1/p/5609524.html
Copyright © 2011-2022 走看看