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.

C6678 EDMA使用问题



各位专家好 我想将DSP内部共享存储空间的数据通过EDMA方式存储到外部DDR3  结果无法传输出去,如果只把目的地址改成片内的共享存储空间 其他都不改动 ,则数据能传输,唯独不能传输到DDR3  ,请问是怎么回事 ?

  • 你的DDR3正常初始化了吗?

    使用JTAG读写这段地址看能否正常访问。

  • 我调用的是开发版的GEL文件 DDR3正确配置了 能通过JTAG读写DDR3空间内容 就是使用EDMA不行

  • 你说的数据不能搬到DDR,具体观察到的现象是什么,如搬移前后DDR上数据是什么?注意如果DDR相关cache属性使能,注意在搬移数据之前invalid cache试试。

    你的代码中有使用MPAX进行地址重映射么,有配置DDR的内存保护属性么?

  • 你说的数据不能搬到DDR,具体观察到的现象是什么,如搬移前后DDR上数据是什么?

    RE:数据搬移前后通过memory 查看DDR空间数据都是全0, 如果通过CPU向DDR空间写数据 则能写进去 读出也正确 ,交给EDMA就不行

    注意如果DDR相关cache属性使能,注意在搬移数据之前invalid cache试试

    RE:在主函数配置中 有对DDR空间的cache 属性和可预取性使能 程序中有对L1P L1D L2 cache的invalid和 writeback 但没有对DDR的invalid cache ,我估计这个可能性不大

    你的代码中有使用MPAX进行地址重映射么,有��置DDR的内存保护属性么

    RE:代码中调用了例程中关于XMC的配置函数 是否对地址进行重映射 和DDR的内存保护属性 这点我不是很理解 希望Andy讲解下 谢谢