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.

关于SRIO以及EDMA同时操作DDR的问题

现在遇到这个问题:从核通过SRIO读取数据(Direct IO方式)存在在DDR中,主核通过EDMA从DDR中搬移数据到L2,两者不是对同一片DDR空间访问,但可能会抢占DDR总线资源。现在一旦两者同时进行,主核EDMA正常,但从核SRIO读取就可能卡住(等待时间比较长)。现在想当同时DDR操作时,让从核SRIO读取数据优先,因为SRIO读取操作在中断中执行,一旦等待时间太长会中断累积,请问有没有什么办法能解决这个问题,有没有什么优先级配置机制?请专家帮忙解答。

之前在www.deyisupport.com/.../59039.aspx帖子中也考虑过这个问题。

  • 内存优先级可以通过不同的寄存器设定

    Corepac MDMAARBU 0x01841010 UPRI and PRI domain

    PKTDMA Global Control Resters offset 0x0C RXPRI and TXPRI
    EDMA3 CC QUEPRI offset 0x284
    SRIO DIO PER_SET_CTRL offset 0x0014 CBA_TRANS_PRI
    但是,DDR3的调度不完全取决于优先级,考虑到效率和功耗的因素,DDR3的调度比较复杂(见DDR3 Memory Controller for KeyStone Devices User's Guide (Rev. C).pdf),你可能需要改变操作DDR3的时序才能完全规避。
  • 请问当EDMA3读取DDR中数据时,SRIO传输数据被暂停,说明EDMA3读取DDR的优先级比SRIO写DDR优先级高么?可不可以选择配置