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!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎05-12-2012

How to use DMA_PS on AMP system (Zynq-7000)

Hi! I run basic AMP system on Zynq-7000 (xapp1078 xapp1079) Vivado 2017.4. -DUSE_AMP=1

And I faced with trouble to use DMA_PS controller by baremetal application running on second core. I want to know Is it possible to use DMA_PS controller for data transfers when I run my baremetal application on second CPU core?

In first of all I faced that linux disable DMA_PS AMBA clk, but I solved this problem, and turned it on manually.

Now I can run data transfers between BRAM and DDR, but it doesn't work perfectly. When I run my app via JTAG debugger it work better, than if I run it from SD.

When I boot from SD in most cases application stall after DMA start command and Interrupt never occur. However from direct JTAG start application work fine.

I think that there is some trouble with caches, but I do not know well about how to tune it.

I try to investigate the problem by dumping registers of DMA_PS controller and I see, that when I boot from SD DMA controller doesn't configured properly, and vice versa when boot via JTAG I can see that registers have a valid values.

I very appreciate any advice on my problem.



0 Kudos