安卓移植和驱动开发第八章心得体会
2016-07-08 11:44 软件1304孙涛 阅读(155) 评论(0) 编辑 收藏 举报Linux 驱动的代码重用有很多种方法。可以采用标准 C程序的方式。将要重用的代码放在其他 的文件 (在头文件中声明〉中。 如果要使用某些功能, include 相应的头文件即可〈这种方式称为 静态重用〉。也可以使用另外一种动态重用的方式,也就是一个 Linux 驱动可以使用另外←个 Linux 驱动中的资源(函数、变量、宏等〉。C或E++语言中编译多个源代码文件时,如果a.c使用 Z b.c文件中的函数,需 :要在 a.c 文件中使用 extern 预先定义 b.i: 中的函数, extern 的作用就是告诉编译器该 :函数的函数名、参数个数、参数类型和返回值类型.
步骤中最关键的一步是编写Makefile文件,代码如下:
f Makefile
obj-m. := multi_file_driver.o
multi_file_driver-y := main.。 fun. . product . .
// 或使用 make_file_driver-objs : s main.。 fun.. pr.duct
代码矗用分为静态和动态两种。在上一节介绍的 方式是代码的静态重用,这种方式是代码级的重用, 也就是将需要重用的代码和使用这些代码的使用者 放在一起进行编译,最终生成一个可执行文件或程序 库 C.ko、 .so 等)。 能卸载自于异常情况而导致的 Linux 驱动模块无法卸载 的情况。这些情况如下:1.初始化函数崩溃2. 卸载函数被阻塞 。
蜂鸣器的驱动原理是,蜂鸣器也称为 PWM (脉冲宽度调制〉,基本原理是通过脉冲来控制蜂鸣器的打开和停止。了方便,本书将蜂吗然统称为 PWM。 PWM 连接到了 TOUT1端口。PWM 驱动与 LED 驱动的实现流程类似, 可能还要简单一些。在第8章中只是为了演示如何将一个 Linux 驱动分成多个实现文件,才使用了比较简单的 PWM 驱动。通过本章的学习,可以掌握 Linux 驱动常用的代码重用方式。 除此之外,本章还介绍了一种强行卸载 Linux 驱动的方法。希望以后再实验课上可以多多练习。
http://www.cnblogs.com/suntao123/