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.

EDMA优先级问题



 你好: 平台为DM642,使用外部SDRAM 作为程序和数据空间,128K CACHE ,外部中断启用EDMA传输(从外部读到SDRAM中),发现本来正常的情况下,EDMA传输时间为4US,但在程序应用引用SDRAM的时候,EDMA传输时间最大为18US。已经设置为EDMA为EDMA_OPT_PRI_URGENT 优先级。

想请问下,怎么才能做到让EDMA优先大于程序的引用优先级?即保证EDMA传输时间在4US左右。

  • 你好,

    你的意思是当有程序运行在SDRAM上的时候,EDMA搬移数据的时间就加长了对么?

    如果你一定需要保证EDMA的搬移时间,你能否让DSP停下来等待EDMA搬移结束后再运行代码?

  • 你好,

    你的意思是当有程序运行在SDRAM上的时候,EDMA搬移数据的时间就加长了对么?

      是的。

    如果你一定需要保证EDMA的搬移时间,你能否让DSP停下来等待EDMA搬移结束后再运行代码?

       可以这样做,但是这是最后的不是办法的办法(因为本身用EDMA就是让CPU能够从数据搬移中解脱出来)

    另外由于程序启用了CACHE,那么最坏的情况CACHE没有命中的话才会引用SDRAM,这个时候才影响EDMA,,我是希望在EDMA启动后,EDMA比程序具有更高的总线优先级,而不是程序用EMIF的话,EDMA造成时间延长。 可以延长程序的执行时间,但是EDMA传输时间必须优先保证(实时要求)

  • 你好,

    你的意思是当有程序运行在SDRAM上的时候,EDMA搬移数据的时间就加长了对么?

      是的。

    如果你一定需要保证EDMA的搬移时间,你能否让DSP停下来等待EDMA搬移结束后再运行代码?

       可以这样做,但是这是最后的不是办法的办法(因为本身用EDMA就是让CPU能够从数据搬移中解脱出来)

    另外由于程序启用了CACHE,那么最坏的情况CACHE没有命中的话才会引用SDRAM,这个时候才影响EDMA,,我是希望在EDMA启动后,EDMA比程序具有更高的总线优先级,而不是程序用EMIF的话,EDMA造成时间延长。 可以延长程序的执行时间,但是EDMA传输时间必须优先保证(实时要求)

  • 你好,

    你的意思是当有程序运行在SDRAM上的时候,EDMA搬移数据的时间就加长了对么?

      是的。

    如果你一定需要保证EDMA的搬移时间,你能否让DSP停下来等待EDMA搬移结束后再运行代码?

       可以这样做,但是这是最后的不是办法的办法(因为本身用EDMA就是让CPU能够从数据搬移中解脱出来)

    另外由于程序启用了CACHE,那么最坏的情况CACHE没有命中的话才会引用SDRAM,这个时候才影响EDMA,,我是希望在EDMA启动后,EDMA比程序具有更高的总线优先级,而不是程序用EMIF的话,EDMA造成时间延长。 可以延长程序的执行时间,但是EDMA传输时间必须优先保证(实时要求)

  • 有人回答么。。。。