一. 简介
上一篇文章学习了编译蜂鸣器驱动框架代码,并进行了编译。文章地址如下:
beep蜂鸣器驱动实验-蜂鸣器驱动框架代码实现-CSDN博客
本文对上一篇所实现的蜂鸣器框架代码进行测试。
二. 蜂鸣器驱动代码框架测试
1. 拷贝驱动程序
注意:开发板的系统是通过 nfs服务挂载方式访问 ubuntu系统的。即 系统文件存放在 ubuntu系统所设置的 nfs目录下!而开发板通过 nfs服务加载系统文件。
将 7_beep工程下编译生成的驱动文件beep.ko,拷贝到 开发板系统 /lib/modules/4.1.15/目录下,这里系统存放在 /home/wangtian/linux/nfs_File/ 目录下,命名是 rootfs:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/7_beep$ sudo cp beep.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f[sudo] wangtian 的密码:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/7_beep$
2. 开发板上电测试
开发板上电后,进入系统 /lib/modules/4.1.15/目录下,确认 dtsled.ko文件是否已经存在:
可以看出, beep.ko驱动文件已经存在。
加载驱动模块
(1) 加载之前,首先运行 "depmod" 命令,进入开发板系统 /lib/module/4.1.15/目录下:
/lib/modules/4.1.15 # depmod
注意:如果选择使用 "modprobe" 命令加载驱动模块,则在驱动程序第一次加载时首先运行 "depmod" 命令!
(2) 其次,运行 "modprobe dtsled.ko" 命令加载驱动模块:
(3) 确认驱动模块是否加载成功
查看 驱动模块是否加载成功:运行 "lsmod" 命令或运行 "cat /proc/devices" 命令进行查看。
运行 "lsmod" 命令查看:
或 输入 "cat /proc/devices" 命令查看:
(4) 确认是否自动创建设备节点。
进入 "/dev/" 目录进行查看:
卸载驱动模块
测试完成后,应该卸载驱动模块,操作如下:
/lib/modules/4.1.15 # rmmod beep.ko
执行 "lsmod" 命令。可以查看是否成功卸载驱动模块:
/lib/modules/4.1.15 # lsmod
Module Size Used by Tainted: G
/lib/modules/4.1.15 #
可以看出,已经成功卸载驱动模块。
注意:驱动程序可以进行反复的加载与卸载,这样可以确保驱动模块是否存在问题。