让开发板发出声音:蜂鸣器

  1、linux驱动的代码重用:静态重用,采用标准C程序的方式,将要重用的代码放在其他的文件中,在头文件声明;动态重用,一个linux驱动可以使用另一个linux驱动中的资源。

  2、C/C++编译多个源代码文件时,若a.c使用b.c的函数,需要在a.c中extern预先定义b.c中的函数;或者在b.h文件定义b.c的函数,然后在a.c中包含b.h的文件。

  3、若linux驱动只有1个源代码文件,makefile中的obj-m变量值可以与源代码文件同名,若包含多个文件,就需使用module-y或module-objs来指定所有的目标文件。

  4、强行卸载linux驱动:正常的驱动程序是可以正常装载和卸载的, 但是当出现异常情况时,Linux驱动可能会无法正常卸载,这时就需要强行来卸载。不过下面的方法并不能强行卸载所有Linux驱动模块,只有由于异常情况而导致的Linux驱动模块无法卸载的情况。从/proc/kallsyms文件中查找系统分配给要卸载的Linux驱动的module结构体的首地址,然后将该首地址强行转换成module结构体指针。

  5、PWM驱动:脉冲宽度调制基本原理是通过脉冲来控制蜂鸣器的打开和停止。通过I/O命令打开和停止PWM。

                                                                                            15:48:43

                                                                                           2016-07-03

原文地址:https://www.cnblogs.com/sakura029/p/5638158.html