让开发板发出声音:蜂鸣器驱动
一、 Linux驱动的代码重用
1.编译是由多个文件组成的 Linux 驱动
2. Linux 驱动模块的依赖(导出符号)
代码重用分为静态和动态两种。在上一节介绍的方式是代码的静态重用,这种方式是代码级的重用,也就是将需要重用的代码和使用这些代码的使用者放在一起进行编译,最终生成一个可执行文件或程序库 (.ko、.so 等)。
二、 强行卸载Linux驱动
情况1:初始化函数崩溃
由于 Linux 驱动模块的初始化函数(通过module_init宏指定的函数)进行了某些操作而崩溃,从而导致初始化函数无法正常返回。
情况 2: 卸载函数被阻塞
在使用 rmmod命令卸载 Linux 驱动时,系统会调用卸载函数(通过 module_exit宏指定的函数),只有卸载函数成功返回肘,Linux 驱动才会被卸载。
三、 蜂鸣器(PWM)驱动
1.蜂呜器驱动的原理
蜂鸣器也称为 PWM (脉冲宽度调制),基本原理是通过脉冲来控制蜂鸣器的打开和停止。
2.实现蜂鸣器驱动
PWM 驱动由 3 个文件组成: pwm.c, pwm_fun.h、 pwm_fun.c。其中 pwm.c 是驱动主程序。 pwm_fun.h 引用了相应的头文件,以及定义了一些宏。 pwm_fun.c 文件则包含了打开和停止 PWM 的两个函数( pwm_start和 pwm_stop)
3.测试蜂鸣器驱动
浙公网安备 33010602011771号