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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
4,161 Views
Registered: ‎03-27-2014

Using Hard DMA on Zynq ZC706 with Linux

I am a newbie to Zynq and Linux - having done mostly custom SoC and no-operating system platforms. Our Zynq design has external components hanging off the M_AXI_GP1 port. 

 

I want to use the hard DMA controller (PL330 from ARM as far as I understand from the TRM) to transfer data from the DRAM to the M_AXI_GP port (of course memory mapped in the ARM Cortex A9 space). There is a lot of information available about different DMA controllers and it is a bit overwhelming as I am unable to figure out a simple use case.

 

I looked at http://www.wiki.xilinx.com/Zynq+Linux+pl330+DMA but am wondering if I need something as complex? I compiled Linux kernel 3.14 with XILINX_DMA that gave me a ps7-dma@f8003000 in the devicetree.dts file. Can somebody give me pointers to do a simple copy using the hard DMA?

 

User-mode would be preferred as I wouldn't want to write a kernel loadable module right now unless required. My simple Linux C-app can indeed run as "sudo". I don't need scatter/gather capabilities.

 

Again, I do understand that this has been asked earlier but the posts all seem to be from engineers who had experience and were asking specific questions. I am stuck getting started :-)

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
4,160 Views
Registered: ‎09-10-2008

Re: Using Hard DMA on Zynq ZC706 with Linux

Hi, 

 

There are several threads on this topic lately, please take a look so that we don't need to replicate all that's been discussed.

 

Thanks

John

0 Kudos