cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
theertharamesha
Adventurer
Adventurer
2,200 Views
Registered: ‎08-21-2016

VDMA TRIPPLE BUFFER READ FROM PS

HI ALL,

I AM WORKING ON ZYNQ 7020 CUSTOMIZED BOARD,

 

I HAVE CONFIGURED MY VDMA IN TRIPPLE BUFFER .WHEN I DO THE WRITE I AM ABLE TO WRITE THREE MEMORY LOCATON .THAT MEANS TRIPPLE BUFFER IS WORKING.

 

NOW I WANT TO READ THE DATA FROM THESE TRIPPLE BUFFER WITHOUT USING ANOTHER VDMA IP CORE IN THE PL. I NEED TO READ FROM ONLY PS . THEN I NEED TO TRANSMIT THIS TO THE ETHERNET.

 

I DONT KNOW HOW TO DO THE READ FROM PS COULD SOMEONE PLEASE TELL ME HOW TO DO THIS

 

WITH REGARDS

RAMESH

0 Kudos
2 Replies
muzaffer
Teacher
Teacher
2,137 Views
Registered: ‎03-31-2012

@theertharamesha the buffers to which VDMA writes are in DDR so all you need are the processor accessible addresses for these buffers and you generate regular accesses to these addresses ie 

 

long* fbuf = 'some address to which VDMA has access";

 

wait_for_frame();

 

long temp = fbuf[idx];

 

long* ethernet_buffer;

ethernet_buffer[eidx] = temp;

 

depending on how your mmu is configured the processor accessible address could be the same as the physical address vdma needs.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
theertharamesha
Adventurer
Adventurer
2,121 Views
Registered: ‎08-21-2016

thanks for the reply @muzaffer

our VDMA is writing to triple buffer,so we need to read from 3 different memory location .that means our read location has to change dynamically.
and one more thing PL is writing on more speed compered to PS. SO it makes difficult to read, for this what I thought is , I can use memory to memory DMA on the PS SIDE. COULD U PLEASE EXPLAIN HOW CAN I DO THESE ALL THESE THINGS.

WITH REGARDS
RAMESH
0 Kudos