|
楼主|
发表于 2016-2-25 08:47:48
我试了一下,在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只能用其中一个啊 |
|
|
|
|
|
|
|
spidev是spi总线的,rc522是属于设备驱动~
总线会有很多设备使用的,不能像你那样直接调用吧 |
|
|
|
|
|
|
|
楼主|
发表于 2016-2-25 11:14:33
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还有别处需要修改一下,才会导致这两个文件只能用其中某一个。还有就是我本帖最初的问题麻烦迅为的工程师们研究研究啊,我不是太想再换别的板子啦 |
|
|
|
|
|
|
|
现在不是越讨论越明了了么?
多半是在Android4.0.3的系统上,linux自带的spi驱动不能够直接使用,导致迅为的工程师做了移植
而在Android4.4.4中,三星更新了这一部分,你说的spidev可以直接使用了。
这两个版本在开发过程中遇到的问题和解决方法都不太一样。
多说一句,在linux中,由于是开源的,使用不同的版本和源码提供商,遇到的问题肯定不会一样的,一般是具体问题具体分析~
你提到的问题会让负责这一块的同事给个答复的 |
|
|
|
|
|
|
登录或注册
扫一扫关注迅为公众号
|