UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Observer zhangsan071
Observer
421 次查看
注册日期: ‎07-17-2019

xdma/sgdma 传输大/多文件

转到解答

大家好,我现在遇到了一个关于KCU105的一个难题。希望一次性传输很多个50M的文件到FPGA的DDR3中,只传输一个,或者累计传输不超过256M可以实现。但是在一次传输多个文件时,报1359错误,应该是超过了单次传输极限,还有,如果一次DMA结束,会引发中断,后面的数据无效。那么问题就是:

在采用这块板实现连续的SGdma传输时,是不是应该设置某个寄存器先,或者用其他酷炫的操作?

怎么解决一次DMA传输后中断引起的后续数据失效问题?

PG195和answer已经看了很多遍,没有关于这个问题的指导。请问强大的xilinx工程师们,这个问题怎么解决呢?

期待您的尽快答复!

0 项奖励
1 个已接受解答

已接受的解答
Xilinx Employee
Xilinx Employee
368 次查看
注册日期: ‎08-03-2007

回复: xdma/sgdma 传输大/多文件

转到解答

太大确实只能多次完成. 如果是中断了影响性能,可以使用poll mode (在调用驱动里面设置就行)

由于xdma 长度受限 你如果想循环使用 list 指针 需要qdma

 

 

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
7 条回复7
Xilinx Employee
Xilinx Employee
402 次查看
注册日期: ‎08-03-2007

回复: xdma/sgdma 传输大/多文件

转到解答

table 2-107开始的寄存器SGDMA register 需要设置

descriptor 是list 的话 4088 要设置正确 dsc_adj[5:0] 数量

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
0 项奖励
Observer zhangsan071
Observer
395 次查看
注册日期: ‎07-17-2019

回复: xdma/sgdma 传输大/多文件

转到解答
table107之后的寄存器要怎么设置呢?
我看驱动日志,传输几M的数据就已经产生数千描述符了,想大量的传不就得必然突破sglist最大65536的上限吗,就的循环填充和消耗描述符链表吧?现在看SGLIST是单向的有限个,仅仅这样设置不行吧。
adj的数量是数据写入的时候产生的,我这边设置有什么意义呢?
0 项奖励
Xilinx Employee
Xilinx Employee
381 次查看
注册日期: ‎08-03-2007

回复: xdma/sgdma 传输大/多文件

转到解答

dsc_adj 是每次同时读取多少个descriptors ,默认读一个

 

 

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
0 项奖励
Observer zhangsan071
Observer
373 次查看
注册日期: ‎07-17-2019

回复: xdma/sgdma 传输大/多文件

转到解答

是我表达的不清楚。我想问的是:目前的dma传输会在完成一次后触发中断,不能实现连续的传输。

我该怎么设置哪一位寄存器,使得下一次的dma传输能和上一次连接在一起,从而实现多文件或者大于256M文件的传输。

0 项奖励
Xilinx Employee
Xilinx Employee
369 次查看
注册日期: ‎08-03-2007

回复: xdma/sgdma 传输大/多文件

转到解答

太大确实只能多次完成. 如果是中断了影响性能,可以使用poll mode (在调用驱动里面设置就行)

由于xdma 长度受限 你如果想循环使用 list 指针 需要qdma

 

 

------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------
Observer zhangsan071
Observer
318 次查看
注册日期: ‎07-17-2019

回复: xdma/sgdma 传输大/多文件

转到解答
感谢,问题解决了 !
0 项奖励
Highlighted
130 次查看
注册日期: ‎07-23-2019

回复: xdma/sgdma 传输大/多文件

转到解答

请问是怎么解决的?是将数据打散吗?

0 项奖励