• 第九章 硬件抽象层: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的函数
  • 相关阅读:
    输入框正则表达式验证
    MySQL表名、列名区分大小写详解
    前后台交互
    分页写法
    web程序调试方法
    html 标签
    Aborting commit: 'XXXXXXXX'remains in conflict错误
    返回按钮
    跳出frameset框架
    fastadmin中关联表时A为主表,想让B表和C表关联时怎么办?
  • 原文地址:https://www.cnblogs.com/coobeast/p/5625814.html
Copyright © 2020-2023  润新知