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: 
Explorer
Explorer
7,160 Views
Registered: ‎11-21-2013

SDK Error: DMA initialize failed

Hi, Dear all,

 

I modified the XAPP1170 demo in Zedboard, and i found out a interesting thing: (the original size was DIM=32)

 

The modified places are:

 

first: *.cpp - modify the number of size from 1024(DIM=32) into 16386(DIM=128), and all
the corresponding places.
dut_*_accel_core <float, 128, 128*128, 4, 5, 5>(in_stream,
out_stream);

 

second, arm_code part: modify main.c and lib_xcore_hw.h : SIZE 16386 in
order for the testing.

 

After these two modification, you will have two kinds of SDK problem:

the first one: if you initialize the input A array, and output B array inside the main.c, the SDK will stop and print out error:
        Error: DMA init failed
the second one: if you comment the initialize part of the input[] array
and output[] array, the SDK will halt on

while (XAxiDma_Busy(&AxiDma, XAXIDMA_DMA_TO_DEVICE)) ;

and i cannot fix this, do you have any suggestions on this?

Thank you very much!

 

0 Kudos
4 Replies
Explorer
Explorer
7,154 Views
Registered: ‎11-21-2013

Re: SDK Error: DMA initialize failed

the problem seems like was caused by capacity error which was caused by Change to transfer 16386 (32 bit) data through DMA !

 

But this didn´t acutally make sense, cause the specification on AXI DMA Engine claimed that length register for holding the number of bytes transfers was from 8-23 bits, means they can used to transfer for more than 16386*32bit data?

0 Kudos
Xilinx Employee
Xilinx Employee
7,112 Views
Registered: ‎08-02-2011

Re: SDK Error: DMA initialize failed

You need to set the number of bits in the length register when you generate the core. It should be set large enough to handle the largest transfer that you want to do.
www.xilinx.com
0 Kudos
Contributor
Contributor
6,727 Views
Registered: ‎10-06-2013

Re: SDK Error: DMA initialize failed

I also followed the same application note: xapp1170. I modified the sizes of matrices. And then continued the same flow: accelerator synthesis from vivado hls => exporting as PCore => embedded system design => running arm code in SDK. For large size of matrices , my program halts at while ((XAxiDma_Busy(&AxiDma, XAXIDMA_DEVICE_TO_DMA)) ||
(XAxiDma_Busy(&AxiDma, XAXIDMA_DMA_TO_DEVICE)))
Can anyone help me how to solve this?
If I have to change the no of bits in the length register of DMA, then how to do that (as @bwiec suggested this)
Thank you

0 Kudos
Xilinx Employee
Xilinx Employee
6,699 Views
Registered: ‎08-02-2011

Re: SDK Error: DMA initialize failed

Hello,

It's an option in the GUI when you generate the DMA.
www.xilinx.com