zoukankan      html  css  js  c++  java
  • Android深度探索笔记-第八章

    遇到无法卸载Linux驱动时通过直接修改Linux驱动相应的内存地址删除Linux驱动。

    书中介绍了2种驱动代码重用的方法,一种是:将要重用的代码放在其他的文件(在头文件中声明)中。如果要使用某些功能,include 相应的头文件即可(这种方式称为静态重用)。也可以使用另外一种动态重用的方式,也就是一个 Linux 驱动可以使用另外一个Linux驱动中的资源(函数、变量、宏等)。

    _init,_exit这两个宏实际上是编译指令,如果用这两个宏标识main__init和main_exit函数,可以达到提高运行效率的目的。

    extern的作用就是告诉编译器该函数的函数名、参数个数、参数类型和返回值类型。

    如果 Linux: 驱动包含多个文件现 就;需要使用 moudule-y或module-objs)来指定所在的目标文件。

    模块依赖:在一个驱动模块里使用另一个驱动模块里的被导出的符号(常章、变量、函数等)。

    depmod命令用于分析Linux 模块之间的依赖性,这一功能在多个Linux模块之间拥有复杂的依赖关系方面非常有用。使用 depmod 分析完Linux模块的依赖关系后,就可以使用 modprobe 命令装载linux模块。modprobe 命令会根据depmod 命令生成的Linux模块依赖关系来装载Linux 模块,并不需要像使用 insmod 命令那样挨个装载 Linux 模块。

    Linux 驱动模块无法卸载的情况:1:初始化函数崩溃2: 卸载函数被阻塞.

    蜂鸣器的基本原理是通过脉冲来控制蜂鸣器的打开和停止。也可以通过调整占空比来控制音量大小。在驱动开发实验课上练习过蜂鸣器的各种使用方法。

  • 相关阅读:
    初识Node
    从服务器获取信息的方式
    引用对象的指针传递
    使用定时器来控制一次执行的任务数量
    JS字符串拼接的方法及性能比较
    提升JS比较效率的方式
    DOM访问优化
    JS数据存取效率的优化
    JS脚本加载顺序及优化
    python 基本用法
  • 原文地址:https://www.cnblogs.com/bbly02/p/5653709.html
Copyright © 2011-2022 走看看