zoukankan      html  css  js  c++  java
  • Android深度探索(卷一)HAL与驱动开发 第八章

    通过学习Android深度探索(卷一)HAL与驱动开发的第八章让我知道了如何让开发板发出声音,如何编写蜂鸣器的驱动程序。了解了Linux驱动的代码重用,代码重用分为静态和动态两种。

    Linux驱动的代码重用有很多方法,可以采用标准C程序的方式,将重要代码的代码放在其他的文件中,如果要使用某些功能,include相应的头文件即可,这种方式称为静态重用,另外一种动态重用方式就是一个Linux驱动可以使用另一个Linux驱动中的资源。

    如果在模拟器或开发板上采用动态装载.ko文件的方式测试Linux驱动,就算无法正常Linux驱动,只要重新启动模拟器或开发版,动态Linux模块就会从内存之中卸载,但如果每次都重启计算机就很容易造成机器的崩溃,因此就需要一种方法来解决这种问题,使得无法通过rmmod命令卸载Linux驱动时,在不启动机器的情况下,仍然可以卸载Linux驱动。我们的解决方案就是从/proc/kallsyms文件中查找系统分配给要卸载的Linux驱动的module结构体的首地址,然后将首地址强行转换成module结构体指针。

    蜂鸣器驱动的原理:蜂鸣器也称为PWM(脉冲宽度调制),基本原理是通过脉冲来控制蜂鸣器的打开和停止。

  • 相关阅读:
    15--k8s之安全认证
    14--k8s之StorageClass,ConfigMap,Secret
    13--基本存储、高级存储、存储配置
    10--k8s之数据持久化
    9--k8s之Endpoints、健康服务检查、高可用
    8--k8s之service和ingress详解
    7--k8s之Pod控制器详解
    6--k8s之Pod结构、配置、生命周期、调度
    索引原理和慢查询优化
    pymysql模块及sql注入
  • 原文地址:https://www.cnblogs.com/Avril-j/p/5641255.html
Copyright © 2011-2022 走看看