I2C驱动实验:测试I2C驱动框架代码

一.  简介

前面一篇文章实现了I2C设备驱动的简单驱动框架,文章如下:

I2C驱动实验:向I2C驱动框架中添加字符设备驱动框架代码-CSDN博客

本文对驱动模块进行测试,具体通过应用程序运行测试。

二. 测试驱动模块

1.  将驱动模块与应用程序拷贝到开发板的文件系统下

注意:开发板的系统是通过 nfs服务挂载方式访问 ubuntu系统的。即 系统文件存放在 ubuntu系统所设置的 nfs目录下!而开发板通过 nfs服务加载系统文件。

将驱动模块与应用程序拷贝到 开发板的系统目录 /lib/modules/4.1.15/目录下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/17_i2c$ sudo cp ap3216c.ko ap3216c_app /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f

2. 开发板上电,进入系统

开发板上电后,进入 系统 /lib/modules/4.1.15/目录下,查看驱动模块是否拷贝过来:

可以看到,驱动模块ap3216c.ko 与应用程序ap3216c_app 已经存在。

3. 加载驱动模块

注意:如果选择使用 "modprobe" 命令加载驱动模块,则在驱动程序第一次加载时首先运行 "depmod" 命令!

这里ap3216c.ko模块已经加载过一次,所以,不需要运行 "depmod"命令。

加载驱动模块:

可以看出,当加载驱动模块后, probe函数已经运行。

查看 /dev/目录下是否存在 ap3216c这个字符设备:

可以看到,/dev/下存在 ap3216c这样的字符设备,这就是在字符设备框架中创建的字符设备。

4. 运行应用程序进行测试

运行应用程序 ap3216_app测试:

可以看出,当应用程序调用open+ read函数后,字符设备驱动框架中的 open函数,read函数,release函数等都运行了,说明达到了预期的效果。

5.  卸载驱动模块

卸载驱动模块:

可以看出,卸载驱动模块后, 正常运行了 remove函数,没有其他错误的 Log信息。

至此,驱动模块测试到这里,接下来实现 I2C设备读写数据函数的实现。

注意:测试过程中,可以反复多次进行驱动模块的加载与卸载,运行应用程序。确保驱动模块是否稳定,或者存在难以发现的问题。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值