问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

14-Linux gpio模拟spi

发布网友 发布时间:2022-09-29 08:35

我来回答

1个回答

热心网友 时间:2024-10-13 16:17

首先是spidev,要在/dev/下面产生设备文件,需要spidev的支持

使用的是gpio模拟spi,gpio模拟spi的时序原理是bitbang文件实现的,所以这个也需要打开,如果是在openwrt下动态加载的话就是如下两个配置

如果是直接内核的话是如下两个

跟I2C的arch层一样,主要是devices的添加和board_info的添加,如下

对于platform_add_devices,因为是使用spi_gpio,所以name是"spi_gpio"这样才可以与driver里面的spi_gpio相互匹配probe到。

因为SPI是可以一个总线上面挂多个,然后通过片选脚CS进行硬件切换,所以这变有个num_chipselect需要设置,如果有2个设置就设置2,一个设备就设置1,这边设置好之后,后面board_info也要有对应的个数,而且片选引脚需要不同。

I2C是通过每个设备有自己不同的地址,通过地址来进行软件切换。

对于board_info使用的是spidev,drivers/spi/spidev.c文件,该文件的内容是注册一个spidev驱动。该驱动是一个字符设备驱动。

如果设备与驱动匹配,那么就会执行spidev_probe()的内容。在spidev_probe()函数中会调用device_create()成功后在 /dev 目录下就会生成 spidev 相关的设备节点。

这边有几个参数要注意:

调试过程想看一些细节的debug信息可以打开内核的动态debug信息,这个在以前的print system里面有

printk的等级设置成8.

开始

定位到是 spi_gpio_request 的时候报错

后面就将zkernel/3.10.49/arch/mips/mtk/ziroom/zrmt7628.c里面GPIO的信息调整下,因为SPI的引脚和LED的引脚号一样,内核不知道哪里会检测到。

修改后打印如下:

之后在/dev/下面就生成了spidev1.0的设备

有了/dev/spidev1.0设备之后,就可以在应用成操作改设备收发数据。

在drivers/spi/spidev.c里面已经封装好了ioctl的对应接口,根据这些接口就可以测试使用。

在Documentation/spi/spidev_test.c下面有个应用层的实例,打开看下就清除了。

$(cc) spidev_test.c -o spidev_test生成可执行文件spidev_test

然后拷贝到板子上,将MOSI和MISO短接就可以测试回环数据是否正常。

有逻辑分析仪的接上logic看波形就更加直观。

gpio模拟SPI:
https://blog.csdn.net/luckywang1103/article/details/70145870

在ARM Linux下使用GPIO模拟SPI时序详解:
https://blog.csdn.net/yangzheng_yz/article/details/50470577

linux SPI驱动:
https://www.cnblogs.com/xuyh/category/903809.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
导购什么字 店面导购员是什么意思 HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\SafeVersions... 无法安装adobeflashplayer,说无法注册ACTIVEX的控件 无法注册flash player的activex怎么办 omniverse create 他总说无法注册Flash player的Active控件 然后什么访问以下链接。不要... excel如何用进度条的形式表示完成率 买了件速干衣,北面的,求大神看一下真假。 秦皇岛银谷全城热恋是不是要预定票啊 嵌入式 Linux ARM11 6410的GPIO,S3C64XX_GPKCON是几位控制一位IO?告诉... 猫咪的血线剪到了会出血吗? 包拯是哪个朝代的人 包拯介绍 style.display隐藏元素且没有让出所占页面空间, <span>标签设置成style="display:none"后其余的<span>元素跟着... 柳条的比喻句 焊道热处理作业的单位和操作人员需要取资格证吗? 工程施工中热处理人员是否有专门的特种作业证? 83年属猪女射手座(11月23日)2011年运程 射手座2022.7.14日运势,男1998年12月14日,射手座,年份 熟地可以和胡萝卜煲汤吗 熟地能不能和胡萝卜煲汤 华为nova6如何指纹解锁 华为nova6怎么设置指纹解锁 使用冻干粉的注意事项 ipad air照片流里的照片 删除后 还会出现在别的地方么 因为刚买来所以... ipad air上的照片流开着拍摄的视频会自动上传同一账号吗? 柳条像什么的比喻句有哪些 柳条像什么比喻句子 练耐力的几个方法 网页不能复制 方法经验总结如下 short用比较级造句怎么办! 我手机是齐乐A50,前天进水了,拿去修了,当天能用,第二天用万能充充电,手... ...在腾讯游戏中绑定了我身份证因为时间太久我忘记了QQ账号要怎么... 去云南玩7天左右有什么好的攻略值得推荐? 万利达酷奔K1怎么找无线网 江苏卫视电视购物酷奔便携电脑受骗如何投诉 电视上播出的广告能信吗 万利达酷奔笔记本在家电下乡范围吗? 14种鼻型图解揭秘 鼻子类型有很多鼻子外观好能影响运势 像怦然心动一样题材的青春爱情电影有哪些?要豆瓣评分高一点的 4种完美鼻型是哪些 4种完美鼻型介绍 豆瓣评分8.3《步步惊心》:从三个角度浅析十四的爱情悲剧 猕猴桃存储方法 猕猴桃如何储存 求广西旅游攻略,穷游。拜托了。。 求五一穷游广州攻略(广州旅游路线) 14种鼻型图解 每一种鼻型都有独特之处说法不同 有关落叶的比喻句 抚恤金争议怎么打官司 抚恤金打官司怎么判 ...老人去世后单位给的丧葬费,让大儿子领走了,现在想起诉他,怎么... 公公抚恤金被婆婆独占,儿媳怎么能追回属于自己的钱? 秋天的落叶的比喻句