• 第9章 硬件抽象层:HAL


      HAL是建立在Linux驱动之上的一套程序库,这套程序库并不属于Linux内核,而属于linux内核层之上的应用层。
      在本章中还介绍了为什么要在Android中加入HAL,统一硬件的调用接口,由于HAL有标准的调用接口,所以可以利用HAL屏蔽Linux驱动复杂、不统一的接口;解决了GPL版权问题。这样这些敏感的代码就摆脱了GPL协议的束缚,那些不想开源的Linux驱动作者也就没必要开源了;针对一些特殊的要求。
      还介绍了Android HAL架构,为LED驱动增加HAL,编写一款支持HAL的Linux驱动程序的步骤:1.编写Linux驱动;2.编写HAL Library;3.编写       Service Library 尽管这些并不是必需的,但新的HAL架构要求这样做,Service Library也是Linux Library这一步比较灵活。
      测试读写寄存器操作,在编写Linux驱动以及驱动相关的程序过程中应分段测试每一部分程序。在本小节中将编写一个由于测试上一节实现的LED驱动的程序,由于LED驱动程序的设备文件写入字节形成的数据。或从设备文件中读取字节类型的数据。为了通用。本节实现的测试测试程序通过命令行参数来传递设备文件名、字节数和要传递的字节等信息。
      Android在启动时会自动装载这些属性文件。如果在多个属性文件中都定义了同一个Key和Value,那么只用第一个Key被获取。
    编写调用Service的Java库,为了是程序更易于使用,可以将调用Service程序库的Java类单独封装在jar文件中,这样做任何的Android应用程序中只要引用了这个jar文件就可以向调用普通Java类一样访问LED驱动了。

  • 相关阅读:
    Spring Boot 学习随记
    Prometheus 普罗米修斯监控
    安装VC++6.0步骤及心得
    NFS 系统搭建
    Centos 搭建邮箱系统
    搭建 RTMP 服务器
    阿里云 DTS 实践
    ELK 搭建
    Prometheus 和 Grafana 安装部署
    Centos7 Nagios 搭建
  • 原文地址:https://www.cnblogs.com/yxy666/p/5652667.html
Copyright © 2020-2023  润新知