该章介绍开发板发出声音:蜂鸣器驱动。当开发一个Linux驱动时,有可能会在init、exit等函数中发生错误,这时Linux驱动可能会安装失败,遇到这种情况直接修改Linux驱动相应的内存地址删除Linux驱动即可修复。Linux代码重用中代码 extern int add(int x1,int x2); //通过extern关键字引用fun.c文件中的函数。可使用rmmod bad_driver命令卸载。由于leds_hal_define.h文件中定义的6个宏会在HAL的代码中使用,因此将这6个宏和上s3c6410_leds_hal.h文件中定义的宏分开。这是因为s3c6410_leds_hal.h文件还引用了Linux内核中的一些头文件,而在HAL代码中无法引用这些文件。本章有一案例为了使工作自动化,特意编写了一个脚本文件(build.Sh)来自动查找、截取module结构图首地址,以及自动完成其所有的工作),此例拓宽了我们知识,知道查询module结构图的首地址。我们可以知道Shell比C语言更灵活。如果将Shell和C语言结合起来使用,会起到意想不到的结果。蜂鸣器(PWM)驱动如果打开蜂鸣器,开发板会发出类似蜂鸣的声音。本章介绍通过相应寄存器来控制蜂鸣器的打开和关闭,并且在实现蜂鸣器驱动时,将打开和关闭蜂鸣器的函数放到了另外的C源代码文件中,并通过多个*.o文件生产*.ko驱动文件。通过本章有效学习了蜂鸣器驱动收获很大。