cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jacob15p
Visitor
Visitor
393 Views
Registered: ‎09-08-2020

DMA Unable to transfer 64MB

Jump to solution

Hello,

My current project implements an AXI DMA in scatter-gather mode to transfer data between the Zynq processing system and a custom IP block. I'd like to be able to transfer the maximum of 64 MB at once, so I increased the DMA buffer length width to 26 bits, and increased memory allocation for the TX and RX buffers/BDs (I'm using the example code xaxidma_example_sg_poll.c). However, it seems the maximum amount of data I'm able to transfer at once is 1 MB; if I increase the DMA packet size beyond that the software simply crashes. Besides memory allocation, which I believe I have done correctly, I'm not sure what else could be causing this issue. Any ideas on what might be going wrong?

dma_buffer.PNGtx_buffer_space.PNG

Tags (2)
1 Solution

Accepted Solutions
katsuki
Xilinx Employee
Xilinx Employee
303 Views
Registered: ‎11-05-2019

Hi @jacob15p 

If you change TX_BUFFER and RX_BUFFER to reserve 64MB, it probably will work.

Capture.PNG

Thank you.
Don't forget to Reply, Kudo, and Accept as Solution.

View solution in original post

2 Replies
katsuki
Xilinx Employee
Xilinx Employee
304 Views
Registered: ‎11-05-2019

Hi @jacob15p 

If you change TX_BUFFER and RX_BUFFER to reserve 64MB, it probably will work.

Capture.PNG

Thank you.
Don't forget to Reply, Kudo, and Accept as Solution.

View solution in original post

jacob15p
Visitor
Visitor
254 Views
Registered: ‎09-08-2020

That fixed it! Thanks for the help

0 Kudos
Reply