Firefly开源社区

标题: Fireprime的spi使用loop模式读出来的都是FF [打印本页]

作者: zhangjie201412    时间: 2016-4-14 00:03
标题: Fireprime的spi使用loop模式读出来的都是FF
1. 编译自带的spidev.c驱动添加dts与驱动匹配,我使用spi0.0

我使用的ubuntu镜像,在kernel/drivers/spi/Makefile 中spidev编译设置为obj-m,然后make modules生成spidev.ko
2. 加载spidev.ko模块
生成spidev0.0节点
root@linaro-gnome:/home/linaro/Downloads# ls -l /dev/spidev0.0
crw------- 1 root root 153, 0 Apr 13 15:44 /dev/spidev0.0
root@linaro-gnome:/home/linaro/Downloads#
3. 修改测试代码Documentation/spi/spidev_test.c
static const char *device = "/dev/spidev1.1";
改为
static const char *device = "/dev/spidev0.0";
4. 编译测试代码
gcc -o test spidev_test.c
5. 测试程序
root@linaro-gnome:/home/linaro/Downloads# ./test -l
spi mode: 32
bits per word: 8
max speed: 500000 Hz (500 KHz)

FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF




由于手头没有spi的设备,所以想先用spi的回环模式测试一下spi驱动,但是好像不通,希望牛人给我指点一下。

作者: zhangjie201412    时间: 2016-4-14 00:03
dmesg中也没有异常
作者: zhangjie201412    时间: 2016-4-16 12:05
有强大的版主出来解释一下吗?
作者: zhangjie201412    时间: 2016-5-2 23:45
能不能不要让我这个问题沉下去,马上就要使用到spi了
作者: ckh20070903    时间: 2018-7-26 16:17
应该用RX和TX管脚连接起来才会有数据,你的ff为rx没有接收到数据,正确的应该是
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1