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

Android深度探索(卷一)HAL与驱动开发 第八章

时间:2016-07-04 18:50:00      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

通过学习Android深度探索(卷一)HAL与驱动开发的第八章让我知道了如何让开发板发出声音,如何编写蜂鸣器的驱动程序。了解了Linux驱动的代码重用,代码重用分为静态和动态两种。

Linux驱动的代码重用有很多方法,可以采用标准C程序的方式,将重要代码的代码放在其他的文件中,如果要使用某些功能,include相应的头文件即可,这种方式称为静态重用,另外一种动态重用方式就是一个Linux驱动可以使用另一个Linux驱动中的资源。

如果在模拟器或开发板上采用动态装载.ko文件的方式测试Linux驱动,就算无法正常Linux驱动,只要重新启动模拟器或开发版,动态Linux模块就会从内存之中卸载,但如果每次都重启计算机就很容易造成机器的崩溃,因此就需要一种方法来解决这种问题,使得无法通过rmmod命令卸载Linux驱动时,在不启动机器的情况下,仍然可以卸载Linux驱动。我们的解决方案就是从/proc/kallsyms文件中查找系统分配给要卸载的Linux驱动的module结构体的首地址,然后将首地址强行转换成module结构体指针。

蜂鸣器驱动的原理:蜂鸣器也称为PWM(脉冲宽度调制),基本原理是通过脉冲来控制蜂鸣器的打开和停止。

Android深度探索(卷一)HAL与驱动开发 第八章

标签:

原文地址:http://www.cnblogs.com/Avril-j/p/5641255.html

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