- 收藏
- 点赞
- 分享
- 举报
海思标准SPI读取异常
各位大佬好,下面是我在使用海思芯片的SPI通信时候出现的问题,希望有知道怎么解决的大佬指点一下,非常感谢。
我是接了一个snesor到海思芯片上,使用的是海思标准的SPI接口。
默认的SDK编译,不进行任何改动。默认上电会有/dev/spidev0.0的设备节点,以及其他的几个spi的设备节点
我使用的是SPI0
不加载SDK编译出来的mpp/out/ko下的驱动
直接手动执行bspmm,进行SPI0的四个管脚复用
使用ssp_read读取寄存器,得到的值都是0xff
使用ssp_read 0 0 0x41 0x00 0x0f,读取SPI0.0的dev_addr是0x41的寄存器,从0x00开始读,读0xf个寄存器
我不太理解这个dev_addr是多少,按理说SPI设备是没有从机设备地址的,但是海思的外围驱动指南里面是这样说的
我这里写的是i2c的从机地址,不知道是不是这个原因导致的。
然后我尝试修改spidev.c的源码(这个就是内核默认加载生成spi设备节点的驱动)
修改SPI的几种模式,四种模式都进行了尝试,也都是一样的效果(我的sensor读取时序要求是0模式)
并且我也尝试了加载mpp/out/ko里面的otspi.ko和ot_sensor_spi.ko两个驱动
sys_cfg.ko驱动源码里面,默认使用的i2c_3,这个与spi0共用管脚,我修改了这一部分,注释掉了i2c_3,打开了SPI0的配置
sensor有配置片选信号线高有效和低有效的管脚,我也进行了控制,并且sensor的复位脚等都进行了配置。
但是依旧使用ssp_read读取数据是0xff(如果片选和高有效或者低有效以及复位没有控制,读取到的都是0x00)
请问有知道是什么原因导致的大佬吗?
这是标准SPI的接口,我不知道还有哪些是没有配置的了。
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
-
2017-09-18 14:25:54
-
2024-08-14 10:32:16
-
2024-10-26 19:57:50
-
2015-05-23 18:19:26
-
2019-07-25 09:35:19
-
2018-06-22 10:43:03
-
2016-11-25 17:52:58
-
2016-02-18 17:59:23
-
2017-01-04 21:05:31
-
2015-03-16 09:27:42
-
2020-02-19 17:36:55
-
2021-09-01 09:56:26
-
2020-10-29 11:15:50
-
2014-03-11 08:14:35
-
2018-09-25 18:14:47
-
2019-11-12 09:31:51
-
2018-10-16 21:42:09
-
2018-06-14 18:56:45
-
2020-11-20 15:32:10

-
10求hi3516cv610 sdk, 需含middleware
-
103403 yolov8 裁剪
-
5想要咨询一下Sil9135+Sil9134形成的一个显示链路.
-
5Hi3516移植USB摄像头的SDK,如何修改Makefile?
-
5ss928从SD卡启动
-
50HI3516CV610调试raw+ahd,均使用2lane mipi
-
5HI3516DV500接收不到FPGA传过来的BT1120数据,时钟和配置都没问题VI就是检测不到数据~
-
5请教一下,Hi3516DV500 ebaina的SDK有没有实现RTSP推流?
-
5SS928的emmc有32GB,bootargs设置使用16GB,但是为啥能用的只有rootfs的大小
-
33SS928怎样烧写ubuntu系统
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明