码迷,mamicode.com
首页 > 移动开发 > 详细

Android深度探索与驱动开发(八)

时间:2016-06-05 21:12:52      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

   蜂鸣器是 S3C6410 开发板上带的一个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器 发出尖叫声。一个完整的蜂呜器驱动(可以打开和关闭蜂鸣 器). PW时驱动的实现方式不同于 LED 驱动, PWM 驱动将由多个文件组成。这也是大多数 Linux 驱动的标准实现方式. 也就是说-个复杂的驱动不太可能将所有的代码都放在一个文件中。最好将 相关的代码放在相应的文件中。在编译 Linux 驱动时将这些文件进行联合编译。这些文件中的数据结构、函数的代码也可以被多个不同的驱动使用, 所 以这也是代码重用的重要方法。 当开发一个 Linux 驱动时, 有可能会在 山t、 exit 等函数中发生错误,这时 Linux 驱动可能会 安装失败,更糟糕的是无法使用 rmmod 命令正常卸载 Linux 驱动,这也就会造成无法再次安装的 窘境。 当然,遇到这种情况,重启机器就可以解决了。但每次都要重启机器, 实在太麻烦了。因此在遇到无法卸载 Linux 驱动时通过直接修改 Linux 驱动相应的内存地址删除 Linux 驱动, 避免了重启机器的麻烦。

  PWM 驱动与 LED 驱动的实现流程类似, 可能还要简单一些。在本章只是为了演示如何将一个 Linux 驱动分成多个实现文件,才使用了比较简单的 PWM 驱动。读者通过本章的学习,可以掌握 Linux 驱动常用的代码重用方式。 除此之外,本章还介绍了一种强行卸载 Linux 驱动的方法。通过 这种方法。读者就可免去不断重启机器的痛苦了。

Android深度探索与驱动开发(八)

标签:

原文地址:http://www.cnblogs.com/li-xiaobin/p/5561607.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!