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
11,737 Views
Registered: ‎01-13-2015

Source address of CDMA

Jump to solution

Hi all,

I'm testing CDMA to copy some data from main memory(DDR3) to BRAM on PL

But there is a problem with source address of CDMA

 

        u32 u32TestData = 0xFFF8;        //Giving Initial test data.

 

        volatile unsigned int srcAddr = 0x30000000;   //Source address 

 

        Xil_Out32(srcAddr, u32TestData);    //copy a data to main memory with physical address.

 

        //copy the data into a BRAM through CDMA

        Xil_Out32(XPAR_AXICDMA_0_BASEADDR + XAXICDMA_SRCADDR_OFFSET, (INTPTR)u32TestData);

        //with this code, I can read right data from the BRAM.

 

        Xil_Out32(XPAR_AXICDMA_0_BASEADDR + XAXICDMA_SRCADDR_OFFSET, srcAddr);

        //but this code stores some junk data in the BRAM.

 

Is there any mistake I made? I don't understant why above tow cases have different results.

 

-----------------------------------------------------------------------

ZC702 board, Vivado 2015.2, Standard alone(no Linux).

 

 

Thank you..

0 Kudos
1 Solution

Accepted Solutions
Adventurer
Adventurer
22,322 Views
Registered: ‎04-06-2012

Re: Source address of CDMA

Jump to solution

Are you sure the address srcAddr contains the data you want? This is the first thing I could investigate.

 

0 Kudos
2 Replies
Adventurer
Adventurer
22,323 Views
Registered: ‎04-06-2012

Re: Source address of CDMA

Jump to solution

Are you sure the address srcAddr contains the data you want? This is the first thing I could investigate.

 

0 Kudos
Adventurer
Adventurer
10,984 Views
Registered: ‎01-13-2015

Re: Source address of CDMA

Jump to solution

I found the problem and sloved it.

The data was in the cache not in the DDR3, so When I update the data, I could get right signals.

Thank you.

0 Kudos