搜索
12
返回列表

1

主题

8

帖子

56

积分

注册会员

Rank: 2

积分
56
 楼主| 发表于 2016-2-25 08:47:48
TOPEET_moon 发表于 2016-2-24 15:39
嵌入式中常用的四大总线i2c,can,spi,usb,底层的驱动协议都是linux系统自带做好的
即使作为驱动工程 ...

我试了一下,在4.4里确实启用spidev就可以了,但是在4.4里仍然存在我帖子里说的这个多一组CLK的问题。还有就是4.0.3系统里spi设备的文件是用的rc522.c,在4.4里用的是spidev.c,如果我在4.0.3系统里通过menuconfig换成spidev.c就会在调用时打不开设备,或者把rc522移植到4.4里面也不行,都是能在文件系统里/Dev下看到设备名、/proc/devices里有设备号,但是调用时会open error。我想知道除了在menuconfig、Kconfig、Makefile还有arch/arm/mach-exynos/mach-itop4412.c或者其他什么地方是哪里导致rc522.c和spidev.c只能用其中一个啊
回复 点赞

使用道具 举报

48

主题

604

帖子

1923

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1923
发表于 2016-2-25 10:03:25
spidev是spi总线的,rc522是属于设备驱动~
总线会有很多设备使用的,不能像你那样直接调用吧
回复 点赞

使用道具 举报

1

主题

8

帖子

56

积分

注册会员

Rank: 2

积分
56
 楼主| 发表于 2016-2-25 11:14:33
TOPEET_moon 发表于 2016-2-25 10:03
spidev是spi总线的,rc522是属于设备驱动~
总线会有很多设备使用的,不能像你那样直接调用吧

spidev应该也是设备驱动的,总线的应该是spi_s3c64XX.c,您可以打开rc522.c和spidev.c(都在\iTop4412_Kernel_3.0_20150403\iTop4412_Kernel_3.0\drivers\spi\目录下面)对比下看看,rc522.c就是把spidev.c里面的变量名给改了,其他一模一样,但是不知道为什么4.0.3里只能用rc522.c,android4.4里面只能用spidev.c(4.4里原来没有rc522.c,我仿照4.0.3里复制过去,改了Kconfig、Makefile和mach-itop4412.c)。我猜肯定是除了menuconfig和mach-itop4412.c还有别处需要修改一下,才会导致这两个文件只能用其中某一个。还有就是我本帖最初的问题麻烦迅为的工程师们研究研究啊,我不是太想再换别的板子啦
回复 点赞

使用道具 举报

48

主题

604

帖子

1923

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1923
发表于 2016-2-25 12:08:05
现在不是越讨论越明了了么?
多半是在Android4.0.3的系统上,linux自带的spi驱动不能够直接使用,导致迅为的工程师做了移植
而在Android4.4.4中,三星更新了这一部分,你说的spidev可以直接使用了。
这两个版本在开发过程中遇到的问题和解决方法都不太一样。
多说一句,在linux中,由于是开源的,使用不同的版本和源码提供商,遇到的问题肯定不会一样的,一般是具体问题具体分析~

你提到的问题会让负责这一块的同事给个答复的
回复 点赞

使用道具 举报

12
返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表