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.

求助,DM8148 在DSP端操作EDMA,EDMA无法搬运数据

求助:

   近日一直在DM8148上调试EDMA,遇到了一个非常奇怪的问题,我发现EDMA无法搬运属于DSP侧的地址数据,具体现象如下:

    1、使用EDMA进行数据块搬运,参照的数据手册8.5.1 Block Move Example进行操作的,目的地址和源地址使用的是代码中全局变量地址(0x8F0236F8),现象是EDMA的传输完成中断产生了,但是数据并没有搬运,这是我当时发的一个求助帖http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/105408/282155.aspx#282155,在尝试了很多办法后,我惊奇的发现把目的地址和数据地址设置为0xBF900000之后就可以实现正常的搬运了。

   2、今天又做了个测试,我使用EDMA搬运GPIO3的数据输入寄存器中的数据到内存中,开始我把源地址设置为0x081AE138(L4中DPS侧的地址),现象和上述1中一样,产生了搬运完成中断但是数据并没有搬运,后面我把源地址改为了0x481AE138(L4中ARM侧的地址),测试成功。

  通过上述现象,我感觉EDMA是无法搬运DSP侧的地址内的数据的,那么这是正常现象吗?还是需要何种操作才可以使EDMA搬运数据DSP的地址内的数据?请知道解决办法的朋友请予以帮助,感激不尽!

   补充一下,测试代码全部运行在DSP上,是通过ARM端slaveloader加载运行在DSP上的。

   DSP在操作EDMA时使用的地址是0x09800000也就是C674X的地址段,并非ARM的。


 

x 出现错误。请重试或与管理员联系。