Linux下SPI设备驱动实验:验证读写SPI设备中数据的函数功能

文章介绍了如何在Linux环境下实现SPI设备驱动,包括添加字符设备驱动框架,以及通过ICM20608设备的读写测试验证驱动功能。作者详细描述了驱动加载、验证过程和注意事项,如使用nfs服务挂载文件系统和驱动模块的稳定性测试。
摘要由CSDN通过智能技术生成

一.  简介

前面文章实现了 SPI设备驱动框架,并在此基础上添加了字符设备驱动框架,实现了读 / 写SPI设备中数据的函数,文章如下:

Linux下SPI设备驱动实验:向SPI驱动框架中加入字符设备驱动框架代码-CSDN博客

Linux下SPI设备驱动实验:实现SPI发送/接收数据的函数-CSDN博客

本文对驱动模块进行加载测试,确定SPI读取函数是否正常。

二. Linux下SPI设备驱动实验:验证读写SPI设备中数据的函数功能

1. 测试依据

ICM20608设备初始化的函数中,添加了读取 ICM20608寄存器的ID号,也有向某个寄存器写值后,再读取该寄存器的值。

所以,开发板可以通过加载驱动模块,确定寄存器中数据是否为代码中设置的数据,即可判断读、写SPI设备功能是否正常。

2.  驱动测试

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

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

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

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/18_spi$ sudo cp spi_icm20608.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f

(2) 开发板上电,进入系统

开发板上电后,进入 系统 /lib/modules/4.1.15/目录下,加载驱动模块。

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

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

加载驱动模块:

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

ICM20608设备的ID号为 0xAF,寄存器 ICM20_WHO_AM_I最后一次写入的值就是 0x01。

至此,说明读写SPI设备中数据函数的功能正常。

运行 "rmmod spi_icm20608.ko" 命令卸载驱动模块:

注意:可以进行反复的加载与卸载驱动模块的测试,以确定驱动模块的稳定性。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值