蜂鸣器是S3C6410开发板上带的一个硬件设备。可以通过寄存器写入特定的值来控制蜂鸣器发生尖叫声。当开发一个Linux驱动的时候,有可能会在init、exit等函数中发生错误是,这时Linux驱动可能会安装失败,更糟糕的是无法使用rmmod命令正常卸载Linux驱动,这也就会造成无法再次安装的窘境。当然,遇到这种情况,重启机器就可以解决了。但每次都要重启机器,实在是太麻烦了,因此在遇到无法卸载Linux驱动时通过直接修改Linux驱动相应的内存地址删除Linux驱动,避免了重启机器的麻烦。如果修改Makefile文件和源代码文件,可以使当前Linux驱动以另一个模块名重新安装。虽然这种方法可行,但由于模块名和其他资源名称可能发生改变,因此导致所有使用这些资源的程序都需要更改。
PWM驱动与LED驱动的十年流程类似,还要更简单一点,由于ioctl命令必须要求输入I/O命令的参数,但PWM驱动未使用I/O命令参数。所以ioctl最后一个命令行参数可以任意输入,执行上面的命令后,如果正常执行,并且PWM正常发出尖叫声,说明PWM驱动测试成功。