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

    第九章
    HAL是建立在linux驱动之上的一套程序库。这套程序库并不属于linux内核,而是属于linux内核层之上的应用层。可以用来保护不想公开源代码的作者。
    HAL架构比较简单,其基本原理就是在安卓系统中使用程序库调用位于内核空间的linux驱动,然后安卓应用程序可以通过NDK程序访问HAL中的程序库,或直接在安卓应用程序中访问HAL中的程序库。
    编写一款支持HAL的linux驱动程序的步骤:
    1、编写linux驱动,linux驱动的代码要尽量简介,尽可能将业务逻辑放到HAL library中。
    2、编写HAL library,HAL library就是普通的linux library文件,单这类库文件有一个接口。通过HAL_MODULE_INFO_SYM变量实现。
    3、编写Service Library,这是必要的步骤。
    测试读写寄存器操作:在编写linux驱动以及与驱动相关的程序的过程中应分段测试每一部分程序,每编写完一部分,应使用相应的方法进行测试,以便将当前编写的程序bug降到最低。
    编写HAL模块的步骤和原理:
    1、定义结构体和宏。
    2、编写HAL模块的open函数作为程序切入口。
    3、定义hw_module_methods_t结构体变量。
    4、定义HAL_MODULE_INFO_SYM变量。
    5、编写HAL模块的close函数。
    6、编写控制LED的函数。

  • 相关阅读:
    用例的粒度问题
    REST和RPC最大区别
    成功的结对编程要点
    我认为技术经理应该做的事儿
    敏捷测试实践
    DDD-围绕业务逻辑编程
    依赖反转原则
    Kafka和Rabbitmq的最大区别
    Cassandra快速两次写入导致顺序不对的问题
    DotNetBar之SupergridControl显示图片,行距自动调整
  • 原文地址:https://www.cnblogs.com/spurlash/p/5651720.html
Copyright © 2011-2022 走看看