电子发烧友网>今日头条> > 正文

如何对SPI驱动做出具体的修改

2021年04月27日 14:17 次阅读

SPI接口设备是一款使用率较高的设备,在用户使用OKMX8MQ-C时可能需要添加新的SPI设备,或者将现有的SPI设备从当前的总线上更换到别的总线上,或更换片选。

对于SPI驱动不熟悉的人可能不是很了解在更改时都需要哪些操作和注意事项,下面我就来给大家介绍下如何修改。

首先,我们先来了解下OKMX8MQ–C SPI的驱动现状。

关于OKMX8MQ –C SPI的驱动现状

驱动是用bitbang的方式,驱动使用GPIO作为SPI的片选,而不是使用SPI控制器的原生片选。i.MX8MQ的SPI控制器支持4个片选,我们可以在一个SPI总线上添加4个片选连接4个设备。

i.MX8MQ有3个SPI总线,OKMX8MQ-C使用了2个,SPI1连接了设备MCP2518FD,SPI2没有连接设备,而是将引脚通过插座引出,并且片选0的驱动使用了spidev,用户可以通过这个spidev设备在用户空间访问cs0所连接的设备。

i.MX8MQ核心板引出了SPI3的引脚,但是在开发板上由于引脚复用,SPI3的引脚复用成了其他的功能,所以没有作为SPI使用。

接下来,我们看下该如何对SPI驱动做出具体的修改。

01- 修改CS的gpio

修改spi2的cs0使用的gpio,由gpio5-13 到gpio3-19,修改设备树

OK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts,找到节点&ecspi2,将cs-gpios = 《&gpio5 13 0》,修改为cs-gpios = 《&gpio3 19 0》。

需要确认你使用的gpio3-19这个引脚的pinmux是GPIO功能,如果不是,则需要将其修改成GPIO。

代码修改前后对比:

修改前:

如何对SPI驱动做出具体的修改

修改后:

如何对SPI驱动做出具体的修改

02- 修改spi设备节点

比如将spi2的cs0从原来的spidev驱动修改为mcp2518fd驱动:

修改设备树

OK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts,找到节点&ecspi2,将其下spidev@0节点删除,添加mcp2518fd@0节点,这个节点下需要添加的特性需要根据这个设备的驱动添加,是这个spi设备的驱动需要的。

代码修改前后对比:

修改前:

如何对SPI驱动做出具体的修改

修改后:

如何对SPI驱动做出具体的修改

03- 增加一个SPI设备

给spi2增加一个spidev设备,使用片选gpio3-19:

添加一个片选:

修改设备树

OK8MQ-linux-kernel/arch/arm64/boot/dts/freescale/ok8mq-evk.dts,找到节点&ecspi2,将cs-gpios = 《&gpio5 13 0》,修改为cs-gpios = 《&gpio5 13 0》, 《&gpio3 19 0》。

添加spidev设备节点:

继续修改刚才的节点,在节点下添加spidev节点,节点的reg值为1

测试

使用spidev_test程序,spidev_test -D /dev/spidev1.0 测试片选0,spidev_test -D /dev/spidev1.1测试片选1,测试时是用示波器测量片选对应的GPIO,GPIO会保持一定时间的低电平,表明该片选被选通。

代码修改前后对比:

修改前:

如何对SPI驱动做出具体的修改

修改后:

如何对SPI驱动做出具体的修改

我们上面只是描述了如何将已有的SPI设备驱动添加到SPI总线上的方法,并不是SPI设备自身的驱动的修改方法。

有的SPI设备功能非常简单,只需要实现几个操作就行,有的SPI设备功能实现非常复杂,对接了Linux的驱动接口后,需要非常多的spi操作才能实现功能。

如果是复杂的设备,驱动只能是由芯片厂商来提供了。例如mcp2518fd设备节点。

当我们在添加这个节点的时候,肯定是已经有了2518fd的驱动,添加节点只需要根据硬件原理上的连接方法,将其添加到对应的片选上,而其内的属性在芯片提供的驱动例程上都有对应的例子,只需要添加到节点内即可。

总结:

在面对一个复杂设备时,如果你没有驱动,首先需要做的就是找驱动、添加驱动,然后在spi总线上添加该设备,编译镜像调试这个设备。

对于功能简单的spi设备,只需要些简单的spi操作,就可以使用spidev驱动在用户层完成操作,不需要专门的驱动。

例如一个SPI接口的ADC芯片,只需要1次SPI读写操作就能使ADC完成转化并读取转化值的操作,用户层打开spidev设备节点,配置完成后,读取ADC值的时候,按照ADC的手册,执行一次SPI传输操作即可。
      责任编辑:tzh

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

明德扬SDRAM接口设计/Xilinx K7系列DDR3 IP核使用视频培训教程

SDRAM接口设计和DDR ip核的使用
发烧友学院发表于 2019-01-23 00:00 712次阅读
明德扬SDRAM接口设计/Xilinx K7系列DDR3 IP核使用视频培训教程

全球缺芯!波及169个行业啤酒肥皂都遭殃,大众汽...

4月27日消息 据高盛最新研究报告称,目前全球有多达169个行业在一定程度上受到了晶片短缺的打击,包....
发表于 2021-04-27 11:51 153次阅读
全球缺芯!波及169个行业啤酒肥皂都遭殃,大众汽...

5G部署迎来规模商用阶段未来发展可期

如果把5G部署比喻为球场上的排兵布阵,上行将首次占据一席核心位置。超级上行,自从在这一位置上获得首发....
发表于 2021-04-27 11:38 201次阅读
5G部署迎来规模商用阶段未来发展可期

全球缺芯片就连洗衣机等小家电也遭殃了!

据国外媒体报道,最近愈演愈烈的全球芯片短缺问题波及到家电领域。 据悉,芯片短缺问题不仅影响到手机等设....
发表于 2021-04-27 11:09 102次阅读
全球缺芯片就连洗衣机等小家电也遭殃了!

车载芯片成品制造的创新机会与发展趋势

在上篇文章中,我们讲到车载芯片市场的“供不应求”,引发了各大企业的“缺芯”慌,面对这个情况,全汽车产....
发表于 2021-04-27 10:06 134次阅读
车载芯片成品制造的创新机会与发展趋势

小米推出手机中与图像相关芯片中的另一类图像信号处...

在3月29、30日连续两天的小米新品春季发布会上,雷总发布了N款让台下观众直呼牛B的新款手机、笔记本....
发表于 2021-04-27 09:31 218次阅读
小米推出手机中与图像相关芯片中的另一类图像信号处...

【芯闻精选】汤道生:腾讯早年不做手机,现在也不会...

2021年83期 产业新闻   全球芯片短缺已影响洗衣机和烤面包机等低利润小家电生产   4月26日....
发表于 2021-04-27 09:00 460次阅读
【芯闻精选】汤道生:腾讯早年不做手机,现在也不会...

Qtopia Core的安装与移植过程是怎样进行的?

Qtopia Core是什么? Qtopia Core的安装与移植过程是怎样进行的? Qtopia Core应用程序开发实例有哪些? ...
发表于 2021-04-27 07:22 0次阅读
Qtopia Core的安装与移植过程是怎样进行的?

μC/OS-II下通用驱动框架该怎样去设计?

μC/OS-II包括哪些基本功能? μC/OS-II下通用驱动框架包括哪些部分? μC/OS-II下通用驱动框架如何...
发表于 2021-04-27 06:24 0次阅读
μC/OS-II下通用驱动框架该怎样去设计?

怎样去设计虚拟I2C总线软件包VIIC?

I2C总线使用的主工作方式有哪几种? 怎样去设计VIIC1.0软件包? VIIC1.0软件包清单有哪些? VIIC1.0...
发表于 2021-04-27 06:07 0次阅读
怎样去设计虚拟I2C总线软件包VIIC?

SSD主控芯片还有哪些用途?

DPU600是DapuStor(大普微)在业内首创的智能存储SoC,基于最新的12nm FinFET....
发表于 2021-04-26 17:45 283次阅读
SSD主控芯片还有哪些用途?

关于SPI基本知识和工作原理及硬件电路设计浅析

SPI(Serial Perripheral Interface),中文是串行外围设备接口,由Mot....
发表于 2021-04-26 17:15 41次阅读
关于SPI基本知识和工作原理及硬件电路设计浅析

卫星定位实现智能放牧

在新疆巴音郭楞蒙古自治州博湖县,牧民巴都玛拉的1000多峰骆驼戴上了北斗卫星导航项圈,在家里通过手机....
发表于 2021-04-26 16:47 66次阅读
卫星定位实现智能放牧

国产SRAM芯片EMI502NL16LM可替代I...

SRAM是随机存取存储器的一种。静态是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。SRA....
发表于 2021-04-26 16:21 48次阅读
国产SRAM芯片EMI502NL16LM可替代I...

现在闹“芯片荒”但是英特尔不慌

疫情下,要如何打造安全可控的供应链?又要如何遵循供应链规律? 在博鳌亚洲论坛2021年年会期间接受第....
发表于 2021-04-26 16:03 201次阅读
现在闹“芯片荒”但是英特尔不慌

苹果M1芯片的继任者曝光

随着2020年末苹果M1芯片的发布,新的苹果产品系列已经推出了带有新内部芯片的产品,包括新的iMac....
发表于 2021-04-26 15:52 48次阅读
苹果M1芯片的继任者曝光

宝马展出全球首款使用5G模块的电动车 背后赢家是...

上海车展上宝马展出了其电动车旗舰:iX,这也是全球首款使用5G模块的量产车,这片模块的背后赢家是三星....
发表于 2021-04-26 15:22 351次阅读
宝马展出全球首款使用5G模块的电动车 背后赢家是...

Microchip推出经过车用认证的单芯片解决方...

全新maXTouch触摸屏控制器支持LCD和OLED显示屏,降低超宽触摸屏集成的复杂度和成本,最大支....
发表于 2021-04-26 14:44 117次阅读
Microchip推出经过车用认证的单芯片解决方...

恩智浦半导体可能成为三星电子的潜在收购目标

据钜亨网报道,全球芯片短缺问题持续,今年初就有消息传出三星电子有意向车用半导体制造商提出并购,以争取....
发表于 2021-04-26 14:27 189次阅读
恩智浦半导体可能成为三星电子的潜在收购目标

了解基于Arduino Uno控制数字逻辑XOR...

首先,有关XOR逻辑运算的一些基本信息:如果XOR逻辑运算的两个输入都不相同,则返回true;如果两....
发表于 2021-04-26 14:10 162次阅读
了解基于Arduino Uno控制数字逻辑XOR...

半导体产品价格一路上涨!思科CEO:缺芯潮将持续...

受疫情以及市场变化等因素影响,汽车、手机,PC显卡等芯片严重缺货,半导体行业陷入“缺芯潮”。近日,美....
发表于 2021-04-26 13:54 829次阅读
半导体产品价格一路上涨!思科CEO:缺芯潮将持续...

LED照明行业竞争日益加剧,*ST飞乐撤销退市风...

实现扭亏为盈,*ST飞乐撤销退市风险警示。 4月15日,*ST飞乐发布公告称,公司自2021年4月1....
发表于 2021-04-26 13:50 171次阅读
LED照明行业竞争日益加剧,*ST飞乐撤销退市风...

一场世纪博弈的序幕已经拉开,一切看似按下了“快进...

当下摆在中国IC业的关键问题是:如何在可持续“造芯”的基础上,逐步赢得在全球产业分工制衡的能力,并抢....
发表于 2021-04-26 11:28 200次阅读
一场世纪博弈的序幕已经拉开,一切看似按下了“快进...

从STM32芯片涨价中可以看到什么?

刚刚搜了一下,天猫上STM32F103ZET6封装LQFP144芯片单个价格300元。如果没记错的话....
发表于 2021-04-26 11:18 274次阅读
从STM32芯片涨价中可以看到什么?

重磅!这些芯片半导体企业可免征企业所得税

4月26日消息 昨日,工信部、国家发改委、财政部、国家税务总局发布面向集成电路产业的新公告。四部门明....
发表于 2021-04-26 11:18 1605次阅读
重磅!这些芯片半导体企业可免征企业所得税

PD协议芯片-快充协议芯片-RK835/PK837

PD协议芯片-快充协议芯片-RK835/PK837 瑞芯微是国内专业的集成电路设计公司,拥有一支以系统级SoC、模拟电...
发表于 2021-04-26 11:16 58次阅读
PD协议芯片-快充协议芯片-RK835/PK837

微容科技高端MLCC科技大厦奠基仪式在云浮罗定微...

行业周知,有“工业大米”之称的片式多层陶瓷电容器 (简称MLCC)是电子整机中主要的被动贴片元件之一....
发表于 2021-04-26 11:07 286次阅读
微容科技高端MLCC科技大厦奠基仪式在云浮罗定微...

慧能泰宣布于近日完成五千万元A+轮融资

慧能泰半导体专注于高性能模拟和混合信号集成电路的定义、开发和商业化推广,公司团队在工业级电源芯片领域....
发表于 2021-04-26 11:04 201次阅读
慧能泰宣布于近日完成五千万元A+轮融资

台积电22日决定将斥资约 把南京厂建置28纳米制...

晶圆代工龙头台积电22日决定将斥资约800亿元新台币,把在南京厂建置28纳米制程,目标在2023年中....
发表于 2021-04-26 10:56 196次阅读
台积电22日决定将斥资约 把南京厂建置28纳米制...

华为Mate40 Pro 4G版首发预装鸿蒙OS...

据此前消息,华为原本计划在3月份发布的P50系列上首发预装鸿蒙OS系统,但是由于一些不确定性因素的影....
发表于 2021-04-26 10:47 466次阅读
华为Mate40 Pro 4G版首发预装鸿蒙OS...

智联安科技采用Cortex-M4/M0双核NB-...

Arm中国微信公众号发布消息称,作为Arm中国的重要合作伙伴,智联安科技近日传来捷报,由研发团队完全....
发表于 2021-04-26 10:33 313次阅读
智联安科技采用Cortex-M4/M0双核NB-...

英特尔的晶圆代工业务到2025年以后才可能获利?

据悉,英特尔的股价当地时间周五下跌了7%,原因在于华尔街分析师认为英特尔将投入数百亿美元发展晶圆代工....
发表于 2021-04-26 10:28 239次阅读
英特尔的晶圆代工业务到2025年以后才可能获利?

苹果2021新春发布会为我们带来了哪些惊喜?

北京时间 4 月 21 日凌晨 1 点,苹果在位于加利福尼亚库比蒂诺的 Apple Park 内举行....
发表于 2021-04-26 10:21 307次阅读
苹果2021新春发布会为我们带来了哪些惊喜?

国产微控制芯片厂商迎来了快速发展的良机

由于市场需求的增加,国产微控制芯片厂商也迎来了快速发展的良机。袁永生是深圳一家微控制芯片生产企业的负....
发表于 2021-04-26 10:18 126次阅读
国产微控制芯片厂商迎来了快速发展的良机

北京航空航天大学研发可解析肺癌细胞基因突变的纳米...

近日,国际癌症研究机构(IARC)报告了全球最新癌症数据:每新增 4 名癌症患者,就有 1 名来自中....
发表于 2021-04-26 10:11 148次阅读
北京航空航天大学研发可解析肺癌细胞基因突变的纳米...

全球芯片短缺可能贯穿2021年,甚至延续到202...

另据美国《华尔街日报》网站4月19日文章称,世界主要半导体供应商正在努力解决芯片短缺这一持续已久的问....
发表于 2021-04-26 09:49 538次阅读
全球芯片短缺可能贯穿2021年,甚至延续到202...

国内通信领域专家呼吁制止台积电在南京厂扩产的计划

近日,通信领域专家项立刚在微博发长文驳斥台积电的举动,认为台积电利用大陆的政策、资源、水电、低成本的....
发表于 2021-04-26 09:44 858次阅读
国内通信领域专家呼吁制止台积电在南京厂扩产的计划

受芯片供应短缺影响,长城汽车遭遇产能瓶颈!

除长城汽车以外,在国内自主品牌中,蔚来汽车不久前曾因芯片短缺停产五天。蔚来汽车联合创始人、总裁秦力洪....
发表于 2021-04-26 09:41 293次阅读
受芯片供应短缺影响,长城汽车遭遇产能瓶颈!

基于WUSB技术和CYWUSB6935芯片实现U...

电子技术和芯片技术的发展使得数字系统运行的速度越来越快,设备内部和设备之间的数据交换对高速、实时、突....
发表于 2021-04-26 09:31 274次阅读
基于WUSB技术和CYWUSB6935芯片实现U...

请问怎样去设计一种NAND Flash的驱动程序?

NAND Flash工作原理是什么? Flash烧写程序原理及结构是什么? ...
发表于 2021-04-26 07:07 0次阅读
请问怎样去设计一种NAND Flash的驱动程序?

请问怎样去实现Linux串口上网?

Linux简单串口上网原理是什么? 怎样去实现Linux串口上网? ...
发表于 2021-04-26 06:42 0次阅读
请问怎样去实现Linux串口上网?

请教怎样去设计一款低功耗系统?

硬件低功耗设计 软件部分的设计 基于μC/OS-II内核扩展接口的低功耗模式 FM电台手持式测试仪的低功耗设计 ...
发表于 2021-04-26 06:29 0次阅读
请教怎样去设计一款低功耗系统?

求一种嵌入式构件系统的设计方案

什么是软件构件? 基于μC/OS-II的嵌入式构件系统怎样去设计? ...
发表于 2021-04-26 06:23 0次阅读
求一种嵌入式构件系统的设计方案

探讨Konqueror/embedded的移植和汉化过程

Konqueror/embedded的结构是由哪些部分构成的? Konqueror/embedded的移植过程是怎样的? 怎样去安装Konqueror/e...
发表于 2021-04-26 06:17 0次阅读
探讨Konqueror/embedded的移植和汉化过程

555定时器芯片的内部电路是怎么样的?

555定时器芯片由于使用方便灵活,应用非常广泛。常用在波形的产生与变化、测量与控制等许多领域。 家用....
发表于 2021-04-25 16:51 138次阅读
555定时器芯片的内部电路是怎么样的?

存储行业:文明传承的基石

存储行业遵循着摩尔定律,每 18 个月集成度提升 1 倍,意味着性能提升 1 倍,而单位价格却下降一....
发表于 2021-04-25 15:11 457次阅读
存储行业:文明传承的基石

印制电路板手动测试的方法有哪些?

印制电路板手动测试原理是什么? 印制电路板手动测试的方法有哪些? ...
发表于 2021-04-25 08:42 0次阅读
印制电路板手动测试的方法有哪些?