TI中文支持网
TI专业的中文技术问题搜集分享网站

C6416 GPIO 触发EDMA请教!

请教下:
       现要在C6416上做GPIO触发EDMA搬运,源地址为FPGA内建FIFO(EMIFB访问),目标地址为SDRAM;用GP0上升沿触发;EDMA配置为1D-1D,SUM_INC,DUM_INC,FS=1模式,LINK_YES(测试时用),但是从FIFO读进来的数据总是不对,不知道是不是EDMA配置的原因?
       但同样的硬件在GPIO中断中用DAT_CPY逐行读FIFO数据没问题.所以想请教下对于我的应用方式EDMA应该如何配置?
       另外想问下如果GPIO上升沿触发EDMA,是否只需要使能GPIO并配置为INPUT,GPIO_MaskHighSet(…),GPIO_IntPriority(…)上升沿触发中断?
  谢谢!

Shane Huang1:

请问是在SYS/BIOS下编程吗?EDMA可以配置成GPIO事件触发的。其他配置和手动触发是一样的

neal yang:

回复 Shane Huang1:

你好!

    没有用BIOS,只是做了个简单的测试程序;

    用GP触发EDMA搬运方式从FIFO读出来的数据不对(硬件连接和EMIFB的配置应该没问题,因为在GP中断中用DAT_CPY从FIFO读过来的数据没问题,EDMA配置为1D-1D模式,SUM_IN,DUM_IN),另外把源地址改为指向SDRM,读到的数据也没问题.

    因为FIFO的位宽为8-bit,所以最初ESIZE配置为8BIT,后来改为32BIT,ELE_CNT/4,读出来的数据和ESIZE=8-BIT也不一样,不过ESIZE=32-BIT时候读出来的数据感觉更接近真实测试数据,只是数据会越来越偏移;不知道这种情况是不是EDMA配置不正确导致?

    另外想问下,GP上升沿触发EDMA响应是不是会非常快,上升沿到后几乎立刻(延迟为nS级)就会开始EDMA数据搬运?

谢谢!!

    

赞(0)
未经允许不得转载:TI中文支持网 » C6416 GPIO 触发EDMA请教!
分享到: 更多 (0)