本章所做的实验室是通过PWM来驱动蜂鸣器发出声响和Linux代码重用
首先做的是Linux代码重用,将三个.c文件分别编译为三个.o文件,并将这三个.o文件链接(link)成.ko文件,然后是最关键的一步,编写Makefile文件,最后进行测试和编译即可。
由此引出了了代码共享的一种方式,模块依赖,也称为导出符号其中用到了depmod和modprobe命令。
下一节将的则是强行卸载由于异常情况而导致的Linux启动模块无法卸载的情况。
情况1:初始化函数崩溃
当前Linux驱动模块没有被任何其他的Linux模块使用,但却显示已经被用了一次,使用rmmod bad_driverl命令卸载bad_driverl是会输出信息,但却找不到bad_driverl的其他Linux模块ERROR:Module bad_driverl is in use
情况2:卸载函数被阻塞
在使用rmmod命令卸载Linux驱动时,系统才会调用卸载函数,如果卸载函数被阻塞,rmmod命令也会阻止
接下来就是本章的实验,PWM驱动。
蜂鸣器发声的原理是通过脉冲来控制蜂鸣器的打开和停止。PWM和LED的驱动的实现流程类似实现的代码分为俩个部分,然后是编译PWM驱动的Makefile文件:obj-m = pwm_driver.o
Pwm_driver-objs : =pwm.o pwm_fun.o.最后就是PWM的测试。
http://i.cnblogs.com/EditPosts.aspx?opt=1