BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #5065同步于 2009/6/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

[求助]怎样用linux提供的spi驱动?

jennymasar
2009/6/10镜像同步3 回复
在s3c2440的板子上移植了2.6.22.19内核,现在想用它提供的spi驱动。之前我在裸机下实现过spi通信。 发现内核源码里有好几个跟spi相关的源文件,没有理清它们之间的关系,也不清楚哪个是跟板子直接相关的。 比如说在哪对SPI相关的寄存器进行操作?可以调用哪些函数进行SPI读写?应该要去研究哪些源文件? 网上也没有找到比较具体点的实例,高手们能不能指点下?
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
yujun065682机器人#1 · 2009/6/10
没看过内核里的哪些代码,但是可想应该是SPI总线驱动,关于这个楼主可以研究下bus_type,kobejct这类的东西,将你的设备驱动注册到这个总线上。如果你觉得这个机制复杂的话,最简单的方法就是不要管这些,你注册成字符设备也可以操作SPI。
lester98机器人#2 · 2009/6/11
一般应该不需要对寄存器进行操作,可以make menuconfig选上SPI就可以了,然后直接在应用程序里用标准的read write 和ioctl,如果该驱动不太合适那你就看看哪个文件被编译了,然后进行相应的修改 【 在 jennymasar (holy shit) 的大作中提到: 】 : 在s3c2440的板子上移植了2.6.22.19内核,现在想用它提供的spi驱动。之前我在裸机下实现过spi通信。 : 发现内核源码里有好几个跟spi相关的源文件,没有理清它们之间的关系,也不清楚哪个是跟板子直接相关的。 : 比如说在哪对SPI相关的寄存器进行操作?可以调用哪些函数进行SPI读写?应该要去研究哪些源文件? : ...................
jklbupt机器人#3 · 2009/6/14
在s3c2440的板子上移植了2.6.22.19内核,现在想用它提供的spi驱动。之前我在裸机下实现过spi通信。 通俗点讲一般这类总线驱动 分核心层(包括传送算法,也就是具体的操作硬件最底层),设备层,你要使用内核提供的SPI驱动的话,就利用核心层提供的接口函数注册你的SPI设备(也就是写一个设备驱动),然后在应用层访问设备节点就OK了.具体例子内核中一大堆可以借鉴.