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

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

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

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

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

转载于:https://www.cnblogs.com/Avril-j/p/5641255.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值