1、Linux 驱动的代码重用有很多种方法。可以采用标准C 程序的方式。将要重用的代码放在其他的文件(在头文件中声明〉中。如果要使用某些功能, include 相应的头文件即可〈这种方式称为静态重用〉。也可以使用另外一种动态重用的方式,也就是一个Linux 驱动可以使用另外←个Linux驱动中的资源(函数、变量、宏等〉
2、编译是由多个文件组成的Linu x 驱动。如果Linux 驱动的代码不多,将所有的代码都放到一个文件中并没有什么不妥,但对于复杂的Linux 驱动,就需要使用多个源代码文件存放不同的功能代码,这样做有利于代码分类和管理。当然,如果Linux 驱动要使用第三方的源代码, 那么就不得不编译多个源代码文件,最终便成.ko 文件或编译进Linux內核(估计不会有人将第三方源代码都复制到一个文件里再进行编译)。
3、代码重用分为静态和动态两种Main.c是Linux驱动的主程序。
4、代码共享的方式:模块依赖,也称为导出符号。如果只能用一句话解释
5、如何利用导出符号实现代码共卒,这句话就是“在「个驱动模块里使用另一个驱动模块里的被导出的符号(常章、变量、函数)等。
depmod 和modprobe 命令。其中depmod 命令用于分析 Linux 筷块之间的依赖性,这一功能在多个Linux 模块之间拥有复杂的依赖关系方面非常有用。使用depmod 分析完Linux模块的依赖关系后,就可以使用modprobe 命令装载Lin皿模块。 modprobe 命令全根据 depmod 命令生成的Linux 模块依赖关系来装载Linux 模块,并不需要像使用insmod 命令那样挨个装载Linux 模块。
6.强行卸载Linux驱动发生的情况:初始化函数崩溃、卸载函数被阻塞、
7.蜂鸣器驱动原理:蜂鸣器也称为PWM(脉冲宽度调制),基本原理是通过脉冲来控制蜂鸣器的打开和关闭。
8.实现一个完整的PWM 驱动,通过I/O 命令可以打开和停止PWM。
9.测试PWM 驱动就非常简单了。由于在上一章编写了一个通用的测试1/0 命令的程序ioctl 。所以本节可以利用这个命令来测试PWM 驱动.首先进入/root/drivers/ioctl 目录, 执行build础脚本文件编译和上传i octl 文件〈如果启动多个Android 设备,要选择上传到S3C6410 开发板〉。