一. 简介
上一篇文章完成了 Led驱动代码框架。并进行了编译。文章地址如下:
设备树下Led驱动实验-Led驱动代码框架搭建-CSDN博客
本文进行驱动加载测试,确定目前实现的驱动框架可以正常运行。
二. Led驱动代码框架测试
下来对上一篇实现的驱动框架代码进行测试。
1. 拷贝驱动程序
注意:开发板的系统是通过 nfs服务挂载方式访问 ubuntu系统的。即 系统文件存放在 ubuntu系统所设置的 nfs目录下!而开发板通过 nfs服务加载系统文件。
将 5_dtsled工程下编译生成的驱动文件 dtsled.ko,拷贝到 开发板系统 /lib/modules/4.1.15/目录下,这里系统存放在 /home/wangtian/linux/nfs_File/ 目录下,命名是 rootfs:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/5_dtsled.c$ sudo cp dtsled.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f
[sudo] wangtian 的密码:
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/5_dtsled.c$
2. 开发板上电测试
开发板上电后,进入系统 /lib/modules/4.1.15/目录下,确认 dtsled.ko文件是否已经存在:
可以看出, dtsled.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/" 目录进行查看:
至此,驱动框架已经完成。
下面开始完善 Led驱动代码,主要实现读取设备树文件中的寄存器地址,进行初始化,最后,实现Led灯的打开与关闭。