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!

Reply

DMA Principle

Accepted Solution Solved
Visitor
Posts: 10
Registered: ‎02-14-2017
Accepted Solution

DMA Principle

Hey Guys, 

I am building a device for networking usage, where an AXI-ETHERNET IP is fed with data from DRAM through AXI-DMA. 

AXI-ETHERNET works with AXI-STREAM and DRAM with the full AXI interface.  

So let's say the ETHERNET -IP receives  1Mb of data, and I want it to be saved in the DRAM.
How does DMA know where to save that data? How do I know where the data goes (Address)?

 


Accepted Solutions
Highlighted
Explorer
Posts: 110
Registered: ‎11-24-2013

Re: DMA Principle

Hi,

 

then you can have a look at the examples provided by Xilinx. They are easily accessible at the BSP screen of the SDK ("Import Examples").

 

Screenshot

 

Reading the code you can learn more about how to use the DMA in different modes. When you call the functions to move the data, you indicate where it is located. For example (xaxidma_example_simple_poll.c):

 

Status = XAxiDma_SimpleTransfer(&AxiDma,(UINTPTR) RxBufferPtr,
					MAX_PKT_LEN, XAXIDMA_DEVICE_TO_DMA);

 

"RxBufferPt" is pointing to a memory address where the data must me stored. It was initialized previously in the code.

 

Regards,

Ignacio

View solution in original post


All Replies
Explorer
Posts: 110
Registered: ‎11-24-2013

Re: DMA Principle

Hi,

 

are you using any processor in your design to configure the DMA (Zynq or Microblaze)?

 

Regards,

Ignacio

Visitor
Posts: 10
Registered: ‎02-14-2017

Re: DMA Principle

Yes, I am using the ARM Core on the ZYNQ. 

Highlighted
Explorer
Posts: 110
Registered: ‎11-24-2013

Re: DMA Principle

Hi,

 

then you can have a look at the examples provided by Xilinx. They are easily accessible at the BSP screen of the SDK ("Import Examples").

 

Screenshot

 

Reading the code you can learn more about how to use the DMA in different modes. When you call the functions to move the data, you indicate where it is located. For example (xaxidma_example_simple_poll.c):

 

Status = XAxiDma_SimpleTransfer(&AxiDma,(UINTPTR) RxBufferPtr,
					MAX_PKT_LEN, XAXIDMA_DEVICE_TO_DMA);

 

"RxBufferPt" is pointing to a memory address where the data must me stored. It was initialized previously in the code.

 

Regards,

Ignacio

Visitor
Posts: 10
Registered: ‎02-14-2017

Re: DMA Principle

Thanks!
Explorer
Posts: 110
Registered: ‎11-24-2013

Re: DMA Principle

You're welcome!

 

Regards,

Ignacio