第八章阅读随想

本章所做的实验室是通过PWM来驱动蜂鸣器发出声响和Linux代码重用

首先做的是Linux代码重用,将三个.c文件分别编译为三个.o文件,并将这三个.o文件链接(link)成.ko文件,然后是最关键的一步,编写Makefile文件,最后进行测试和编译即可。

由此引出了了代码共享的一种方式,模块依赖,也称为导出符号其中用到了depmodmodprobe命令。

下一节将的则是强行卸载由于异常情况而导致的Linux启动模块无法卸载的情况。

情况1:初始化函数崩溃

当前Linux驱动模块没有被任何其他的Linux模块使用,但却显示已经被用了一次,使用rmmod bad_driverl命令卸载bad_driverl是会输出信息,但却找不到bad_driverl的其他Linux模块ERRORModule bad_driverl is in use

情况2:卸载函数被阻塞

在使用rmmod命令卸载Linux驱动时,系统才会调用卸载函数,如果卸载函数被阻塞,rmmod命令也会阻止

接下来就是本章的实验,PWM驱动。

蜂鸣器发声的原理是通过脉冲来控制蜂鸣器的打开和停止。PWMLED的驱动的实现流程类似实现的代码分为俩个部分,然后是编译PWM驱动的Makefile文件:obj-m = pwm_driver.o

Pwm_driver-objs : =pwm.o pwm_fun.o.最后就是PWM的测试。

http://i.cnblogs.com/EditPosts.aspx?opt=1

posted @ 2016-07-05 15:12  402682881  阅读(60)  评论(0编辑  收藏  举报