版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuisaozhang1292/article/details/82960238
在Linux下实现以模块的方式加载内核驱动
以模块的方式编译内核驱动
2)烧写生成的zImage 到开发板上,然后开发板启动进入到android 系统。
3)通过adb 把蜂鸣器的驱动模块传到开发板的"/data"目录下
4)进入/data目录 并加载蜂鸣器驱动 “insmod itop4412_buzzer.ko” ;
5)可通过ll /dev 看到加载的驱动模块 并生成了buzzer_ctl节点
6) chmod 777 buzzer_ctl , 修改文件权限,并可以使用android自带的蜂鸣器小程序控制了
单独编译驱动模块
很多时候我们都是拿到的一个驱动源码,不需要把它放到Android内核源码中,直接把它编译成驱动模块
1)执行上面的方法的第一步 生成zImage模块 烧写到开发板
2)在虚拟机的目录下 mkdir module , cd module
3)cp /home/broswer/iTop4412_Kernel_3.0/drivers/char/itop4412_buzzer.c ./
4) vi Makefile 并输入内容 ,保存退出 输入 make
5) 编译完成后 可在module中生成itop4412_buzzer.ko
6) 执行上面方法的 3~6 测试编译的驱动