This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM814x EDMA can not read from L2RAM

In our application, we are using EDMA to transfer SPI write to external chips.

Our code works fine when source address is in the DDR region (0x8xxxxxxx).

Whenever we are using L2RAM addresses (0x1080xxxx), the data send out by EDMA are all 0. (note that we config 128K cache, 128K L2 RAM)

Based this observation, we guess maybe EDMA don’t have the permission to read from internal RAM. So we did below investigation on this:

1. We tried to change L2MPPAn.

2. We played with OPT in the EDMA to set supervisor mode.

But neither work, please advise.

regards

--Zhigang

  • Hi Zhigang,

    The EDMA in DM814x sees L2RAM with physical address and physical address is 0x4080xxxx. So configure your EDMA source param as 0x4080xxxx instead of 0x1080xxxx.

    I feel this should solve your problem.


    Regards

    Radhesh

  • Zhigang,

    I created a simple EDMA test case for the DSP and ran it on my EVM just to validate. You do need to use the L3 interconnect address of 0x40800000 in the EDMA parameters to access the DSPs L2 RAM.

    From a SYS/BIOS perspective, which really doesn’t know anything about EDMA, the platform file for the evmDM8148 chose to use the DSP global address of 0x10800000 for IRAM which from a DSP perspective is the same as 0x00800000. If you are dealing with buffer addresses that are in the 0x10800000 range that you need to use in your EDMA parameters, then you will have to adjust those addresses by adding 0x30000000 to them.

    Another option would be to play around with either modifying the SYS/BIOS platform file or creating a new platform file. The SYS/BIOS platform file is the one you chose when you first created your SYS/BIOS project. It defines the memory segments. To view/edit the platform file, from CCS choose Tools->RTSC Tools->Platform. I'm not sure why but the 'Tools' menu only shows up when in the debug perspective of CCS so to save you some time, make sure you're in the debug perspective before looking for this.