想用CSI接口走高速数据接收,FPGA产生的VSYNC和HSYNC为1024*1024的图像。但是内存里始终没有接收到数据(始终为初始化的0xa5)
看中断寄存器里面的信息,
[ 2344.116390] addr 01cb4074:dc
FIFO溢出了,
估计是DMA没有将数据存储到设置的内存里面。
实际我申请的物理内存地址是0x42000000,也设置了buff存储的位置
[ 2344.085799] addr 01cb4050:10800000(实际右移了2位,这是bsp源码的操作,试过不位移也不行)
下面是寄存器信息,看这个寄存器CSI接口是工作起来了的,但就是收不到数据:(
[ 2344.150204] addr 01cb409c:3fb03fb
:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|:|
[ 2344.020160] addr 01cb4000:0d
[ 2344.026384] addr 01cb4004:1010000
[ 2344.029867] addr 01cb4008:00
[ 2344.032916] addr 01cb400c:00
[ 2344.035991] addr 01cb4010:40f0400
[ 2344.039475] addr 01cb4014:3020100
[ 2344.042958] addr 01cb4018:00
[ 2344.046019] addr 01cb401c:00
[ 2344.049069] addr 01cb4020:00
[ 2344.052118] addr 01cb4024:00
[ 2344.055184] addr 01cb4028:00
[ 2344.058234] addr 01cb402c:00
[ 2344.061283] addr 01cb4030:00
[ 2344.064345] addr 01cb4034:00
[ 2344.067394] addr 01cb4038:00
[ 2344.070441] addr 01cb403c:00
[ 2344.073490] addr 01cb4040:00
[ 2344.076551] addr 01cb4044:800
[ 2344.079687] addr 01cb4048:00
[ 2344.082736] addr 01cb404c:00
[ 2344.085799] addr 01cb4050:10800000
[ 2344.089369] addr 01cb4054:10800000
[ 2344.092938] addr 01cb4058:10800000
[ 2344.096517] addr 01cb405c:10800000
[ 2344.100086] addr 01cb4060:10800000
[ 2344.103655] addr 01cb4064:10800000
[ 2344.107233] addr 01cb4068:00
[ 2344.110283] addr 01cb406c:03
[ 2344.113330] addr 01cb4070:ff
[ 2344.116390] addr 01cb4074:dc
[ 2344.119439] addr 01cb4078:1e00000
[ 2344.122921] addr 01cb407c:00
[ 2344.125980] addr 01cb4080:7d00000
[ 2344.129463] addr 01cb4084:7d00000
[ 2344.132945] addr 01cb4088:3e803e8
[ 2344.136438] addr 01cb408c:1e00280
[ 2344.139920] addr 01cb4090:2b5f5
[ 2344.143229] addr 01cb4094:1cee67b
[ 2344.146722] addr 01cb4098:3420400
[ 2344.150204] addr 01cb409c:3fb03fb
[ 2344.153686] addr 01cb40a0:00
[ 2344.156744] addr 01cb40a4:00
[ 2344.159794] addr 01cb40a8:00
[ 2344.162842] addr 01cb40ac:00
[ 2344.165904] addr 01cb40b0:00
[ 2344.168954] addr 01cb40b4:00
[ 2344.172003] addr 01cb40b8:00
[ 2344.175062] addr 01cb40bc:00
[ 2344.178111] addr 01cb40c0:00
[ 2344.181160] addr 01cb40c4:00
[ 2344.184219] addr 01cb40c8:00
[ 2344.187267] addr 01cb40cc:00
[ 2344.190315] addr 01cb40d0:00
[ 2344.193364] addr 01cb40d4:00
[ 2344.196423] addr 01cb40d8:00
[ 2344.199473] addr 01cb40dc:00
[ 2344.202522] addr 01cb40e0:00
[ 2344.205581] addr 01cb40e4:00
[ 2344.208629] addr 01cb40e8:00
[ 2344.211678] addr 01cb40ec:00
[ 2344.214737] addr 01cb40f0:00
[ 2344.217786] addr 01cb40f4:00
[ 2344.220835] addr 01cb40f8:00
[ 2344.223894] addr 01cb40fc:00
离线
是主线linux,4.13
是的,fpga数据走视频口,高速adc过来的实时数据
离线
fpga数据进来了,dram clk gating寄存器还要给CSI接口使能,数据才能进入内存中。
后面慢慢调时序=)
离线
还有这种操作,搬起小板凳学习.
离线
开阔眼界了。骚操作
离线
这思路不错,好办法。
离线
标记标记,也正在摸索FPGA通过CSI发数据到V3S.
离线
你们用的都是那款的FPGA?
离线
又学到一个骚操作
离线
国产FPGA,主要就是便宜...
离线
fpga数据进来了,dram clk gating寄存器还要给CSI接口使能,数据才能进入内存中。
后面慢慢调时序=)
@爆炒葫芦娃
参考你的设置,包括DRAM_CLK_GATING_REG .CSI_DCLK_GATING. 位;
能产生中断, 但内存里还是没有数据. 还有什么可能会导致没数据呢?
顺便问下, 是否设置好CSI的FIFO地址后, CSI数据就应该自动存到对应地址里吗?还是需要自己去从FIFO地址去读数据呢? 我是裸机;
谢谢!
离线