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

一.  简介

前面文章实现了 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" 命令卸载驱动模块:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/559341.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年学浪的缓存怎么导出来

在自我成长的道路上,越来越多的朋友选择通过精选课程来提升自己。然而,面对那些服务期限有限的课程,怎样才能把握住知识的光芒,让它照亮未来的每一个角落?本文就教大家如何利用工具下载学浪app平台的课程 工具我已经打…

【ARM 裸机】I.MX 启动方式之启动头文件 2

接上一节:【ARM 裸机】I.MX 启动方式之启动头文件 1; 2.3、DCD DCD,Device Configuration Data ,就是配置 6ULL 寄存器的,DCD 数据最大限制 1768 字节; CCGR0 是不是很熟悉?对,在…

C++奇迹之旅:深入理解赋值运算符重载

文章目录 📝赋值运算符重载🌠 运算符重载🌉特性 🌠 赋值运算符重载🌠传值返回:🌠传引用赋值:🌉两种返回选择🌉赋值运算符只能重载成类的成员函数不能重载成全…

用Gold-yolo模块改进yolov8模型

gold-yolo论文: https://arxiv.org/pdf/2309.11331.pdf gold-yolo代码: https://github.com/huawei-noah/Efficient-Computing/tree/master/Detection/Gold-YOLO 一 gold模块简介 Gold-Yolo是华为诺亚方舟实验室2023年发布的工作,主要优化检…

Linux程序的地址空间,进程终止

个人主页:点我进入主页 专栏分类:C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂 一.程序的地址空间 1.1程序的地址空间的引入 我们知道frok可以创建…

重塑我们对随机性在计算中的作用的理解

2023年图灵奖,最近刚刚颁给普林斯顿数学教授 Avi Wigderson!作为理论计算机科学领域的领军人物,他对于理解计算中的随机性和伪随机性的作用,作出了开创性贡献。 Avi Wigderson 的履历 自 1999 年以来,Wigderson 一直担…

Python五子棋VS人机对战

上一次编写了一个python五子棋游戏,但是属于玩家之间的对战。今天介绍五子棋和人机对战。本博文目的是教学和一些毕业设计。 目前电脑下棋逻辑算法还是比较简单的,不能和市面上五子棋相提并论,请大家理想对待! 代码: import pygame import sys import tkinter as tk fro…

再拓信创版图-Smartbi Insight V11与东方国信CirroData数据库完成兼容适配认证

近日,思迈特商业智能与数据分析软件 [简称:Smartbi Insight] V11与北京东方国信科技股份有限公司 (以下简称东方国信)CirroData-OLAP分布式数据库V2.14.1完成兼容性测试。经双方严格测试,两款产品能够达到通用兼容性要…

python语言零基础入门——注释、print()函数、input()函数

目录 一、注释 1.块注释 2.行内注释 3.多行注释 二、打印变量 1.print()函数:输出/打印指定内容 2.input()函数:输入指定内容 三、编程题:个人名片 一、注释 1.块注释 以#开始,直到本行结束都是注释为了保证代码的可读性…

初步学习node.js文件模块

环境已安装好; 写一个read1.js如下; var fs require("fs"); var data ;// 创建一个流 var stream1 fs.createReadStream(test1.jsp); stream1.setEncoding(UTF8);// 绑定data事件 stream1.on(data, function(mydata) {data mydata; });/…

Unity ECS

一:前言 ECS与OOP不同,ECS是组合编程,而OOP的理念是继承 E表示Entity,每个Entity都是一个有唯一id的实体。C表示Component,内部只有属性,例如位置、速度、生命值等。S表示System,驱动实体的行为…

Leetcode. 12 整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例…

原来我一直被骗了!Burp suite诱导劫持攻击【附工具】

一、点击劫持 点击劫持是一种基于界面的攻击,用户通过点击诱饵网站中的一些其他内容被诱骗点击隐藏网站上的可操作内容。举例来说,一个网络用户可能会访问一个诱饵网站(可能是通过电子邮件提供的链接),并点击一个按钮以…

C语言---贪吃蛇(二)---逻辑和代码的实现

文章目录 前言1.准备工作2.蛇的相关属性3.游戏流程设计3.1.游戏开始(GameStart)3.1.1.设置光标位置3.1.2.隐藏光标3.1.3.打印欢迎界面3.1.4.创建地图3.1.5.初始化蛇身3.1.6.创建食物 3.2.游戏运行(GameRun)3.2.1.打印信息栏3.2.2.蛇身的移动3.2.2.1.判断下一个结点是否为食物3.…

【Linux】iptables的应用

iptables 防火墙 防火墙是一种网络安全系统,它位于内部网络与外部网络(如互联网)之间,通过实施预定义的安全策略来控制网络间的通信。防火墙的主要目标是保护内部网络资源免受未经授权的访问、攻击或潜在威胁,同时允…

FFmpeg源码编译

msys2 依赖环境安装 依赖环境安装编译X264编译 fdk-aac文件处理编译x265编译FFmpeg 依赖环境安装 编译X264 用于h264 AVC视频格式编码 CCcl ./configure --enable-shared #指定使用cl,编译成动态链接库 make -j32 #使用32线程进行编码 make install命令一 关于第一条命令执…

VUE的import store from ‘./vuex/store改为‘ import store from ‘./vuex/store.js‘

ERROR Failed to compile with 1 error 下午5:25:40 error in (webpack)-dev-server/client?http://10.18.173.180:8081/sockjs-node Syntax Error: no such file or directory, open D:\4myroom\H…

2024年,新手做抖店千万犯这几点错误,轻则保证金,重则封店!

哈喽~我是电商月月 很多做抖音小店的新手朋友都忽略了违规操作这一部分,交完保证金以为后续不开了保证金还能退回?别天真了! 不了解抖音小店的行为规则,违规了不仅保证金没了,严重的话,店铺都开不下去&am…

【精简改造版】大型多人在线游戏BrowserQuest服务器Golang框架解析(2)——服务端架构

1.架构选型 B/S架构:支持PC、平板、手机等多个平台 2.技术选型 (1)客户端web技术: HTML5 Canvas:支持基于2D平铺的图形引擎 Web workers:允许在不减慢主页UI的情况下初始化大型世界地图。 localStorag…

谷雨,春天的最后一次回眸

人生并不像火车要通过每个站似的经过每一个生活阶段。 今日谷雨,这不是技术文,是码哥的碎碎念 谷雨猕漫着芭蕉的味道动了心成了情白素贞的姻以伞结缘可天若无雨地上无伞断桥未断过客,能留下一段传奇吗?或许难难 倘若在江城边不是西…
最新文章