一.Linux驱动的代码重用有很多的方法,可以采用标准的C程序的方法将要重用的代码放在其他的文件(在头文件中声明)中。如果要使用某些功能,include相应的头文件即可,也可以是另外一种动态重用的方式,也是一个Linux驱动可以使用另外一个Linux驱动中的资源。蜂鸣器是 S3C6410 开发板上带的一个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器 发出尖叫声。学会了pwm的驱动实验,本实验将linux驱动区分成了多个实现文件。学会了编写Makefile文件。知道了linux驱动模块的依赖。通过实验学会了linux驱动常用的代码重用方式及强行卸载linux驱动的方法。PWM驱动的实现方式不同于LED,PWM驱动由多个文件组成。大多数Linux驱动的标准实现方式都是这种。一个复杂的驱动不会把所有代码都放在一个文件中。相关的代码会放在相应的文件中,在编译Linux驱动时将这些文件进行联合编译。当开发一个Linux驱动时,在init、exit等函数中发生错误时,Linux驱动可能会安装失败。甚至使用rmmod命令也无法正常地来将LINUX驱动卸载。这时就需要将相应的Linux驱动的内存地址修改,实现对Linux驱动的卸载。
二.Linux驱动代码的重用有两种方式,第一种是静态方式,就是通过include相应的头文件,采用标准C程序的方式。另一种被称为动态重用,使得一个Linux驱动可以使用另一个Linux驱动中的资源。
三.强行卸载Linux驱动。情况1:由于Linux驱动模块的初始化函数进行了某些操作而崩溃,从而导致初始化函数无法正常返回。这种情况的表现是当前Linux驱动模块没有被任何其他的Linux驱动模块使用,但却显示已经被引用了一次。请况2:卸载函数被阻塞。
蜂鸣器驱动。原理:通过脉冲来控制蜂鸣器。先将pwm.c和pwm_fun.c文件编译成pwm.o和pwm_fun.o,然后将这两个*.o文件链接成pwm_driver.o,最后生成ko文件
http://i.cnblogs.com/EditPosts.aspx?opt=1