cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tkontogiorgis
Explorer
Explorer
197 Views
Registered: ‎09-10-2019

AXI DMA - Variable Number of Buffer Descriptors in each Packet

Hello,

I  have an FreeRTOS application where I use AXI DMA Scatter Gather Mode( At the moment just looping with a FIFO back to AXI and reading data to confirm that they are correct) so to transmit images ( a video) and loop it back (I try to separate the Image to several multiple integer BDs each one having a specific size needed from my HW which will be implemented later). My app will load each transaction different size of data (A compressed image every transaction which varies size).

1) Is AXI-DMA drivers capable of handling this process?

2) I've modified NUMBER_OF_BDS_PER_PKT from constant defined to an int and a read the image, fit it into BDs and depending on the size this is varying. Will this be a problem?

3) I have implemented this logic but the process seems to lag after some seconds (I play a video and it stops, but perhaps its not from AXI-DMA)…

4) Should I use multiple packets or mutliple BDs for sending the Image in the PL (custom Hardware block) ?

 

Thanks in Advance,
Theo

 

Tags (2)
0 Kudos
1 Reply
tkontogiorgis
Explorer
Explorer
130 Views
Registered: ‎09-10-2019

It seems that the NUMBER_OF_BDS_PER_PKT should be power of 2 because the DMA Data Buffer is cycling continuously loading new images in the same addresses and if power of 2 it cycles correct.

Should I use better multiple packets instead of Multiple BDs?

My hardware would like to take part of the image (Considered as 1 BD at the moment) and signal the tlast in AXI DMA after finishing the processing of each part of the image thus each BD.

 

Thanks Theo

 

0 Kudos