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

    第九章 硬件抽象层:HAL  首先说明Android系统中使用linux驱动的两种方式,第一个是访问硬件寄存器的代码和业务逻辑代码,这种方式没有什么秘密,因为都是linux的标准操作,但是有的东西为了保护自己的专利和技术秘密,但又要遵守GPL规则,所以使用了HAL技术。第二个是编写HAL的驱动程序的步骤。首先是编写Linux驱动。这个得要求是代码必须简介,然后是编写HAL Library,它其实是普通的Linux library文件,但是这个库类文件用一个借口,service library就是通过这个接口中定义的ID定位HALLibrary。最后一步是编写ServiceLibrary,我们所用到的ServiceLibrary是JNI!Library。中间我们还穿插学习了build.sh脚本文件的编写,目的是显示Android设备列表,爱你允许用户选择其中一个。 最后是编写HAL模块。 其中我们要用到三个重要的结构体,hw_moudle_t,he_device_t,hw_moudle_methods_t,他们分别用来描述HAL的模块,HAL的设备,以及模块入口函数。然后编写open函数,定义hw_moudle_methods_t结构体变量,定义HAL_MOUDLE_INFO_SYM变量,编写HAL模块的close函数,编写控制led的函数
  • 相关阅读:
    图解JAVA对象的创建过程
    统计机器学习
    排序算法简介及其C实现
    linux中强大的screen命令
    C语言注释
    Hello hadoop——使用hadoop进行大规模数据的全局排序
    Hadoop Streaming框架使用(二)
    shell——tr的用法
    统计学习方法《文本分类(三)》
    hadoop 常存问题
  • 原文地址:https://www.cnblogs.com/coobeast/p/5625814.html
Copyright © 2011-2022 走看看