第八章
第八章
1.Linux驱动的代码重用
静态重用:将重用的代码放在其他文件中,如使用哪些功能,include相应的头文件
动态重用:一个linux驱动使用另一个linux驱动中的资源
2.强行卸载linux驱动
情况1:初始化函数崩溃(将当前的linux驱动模块的引用计数器清零)
情况2:卸载函数被阻塞(将原来的卸载函数替换成一个空的卸载函数)
3.蜂鸣器驱动的原理
pwm基本原理通过脉冲来控制蜂鸣器的打开和关闭
4.测试蜂鸣器的驱动
本节将实现一个完整的pwm驱动,通过I/O命令可以打开停止pwm
PWM由三个文件构成:pwm.c,pwm_fun.h,pwm_fun.c,pwm_fun.c是驱动主程序,pwm_fun.h引入了相应的头文件,以及定义了一些宏,pwm_fun.c则包含了打开和停止pwm的两个函数,从Makefile中可以看出,编译器首先将pwm.c和pwm_fun.c文件编译成pwm.o和pwm_fun.o,然后再将两个.o文件连接成pwm_driver.o,最后生成pwm_driver.ko,然后执行build.sh脚本文件,然后就编译成功了。
输入如下命令:
./ioctl /dev/pwm_dev 1 0
./ioctl /dev/pwm_dev 0 0
通过本章简单的了解了pwm的知识点。