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

C6670 EDMA3实例切换问题

Hi: 

    我使用的是C6670芯片,一共有3个EDMA实例,其中TPCC1的EDMA通道6,7的触发事件分别是GPIO0,GPIO1;TPCC2的EDMA通道6,7的触发事件也是GPIO0,GPIO1。原来我使用的是TPCC2的EDMA通道6,7来响应GPIO0和GPIO1的事件,搬移数据;由于应用需要,现在要使用TPCC1的EDMA通道6,7来响应GPIO0,GPIO1的事件。通道初始化,和资源分配都已经修改了,但是从GPIO0,和GPIO1来的事件,无法进入到TPCC1的事件寄存器,导致无法触发TPCC1的EDMA通道6,7进行数据传输。

    现在的应用中,一个工程中同时使用了EDMA3的TPCC1和TPCC2.且我们的资源配置是参考TI给的例程sample_cfg.c进行配置的。初始化时使用TI提供的API做的。

     请问从TPCC2到TPCC1,需要做哪些修改?

Andy Yin1:

从手册来看是可以这样路由的。先确认一下手动能够触发TPCC1工作么,事件触发相对只要在初始化时使能EER就可,其他与手动触发的初始配置一样。

Hengwei Xiang:

谢谢Andy的解答,设置好时间触发后,通过手动写事件设置寄存器的方式可以触发TPCC1工作,EER也已经设置,现在观察到的问题是,GPIO产生的事件无法进入到TPCC1的ER中,请问该怎么解决?请问贵公司是否有在一个工程中使用多个TPCC的例程,若有能否给出源码参考?谢谢!

Andy Yin1:

你的应用中同时使用相同的事件触发两个TPCC么?如果只配置事件触发TPCC1可以成功么?

Hengwei Xiang:

没有,不适用相同的时间触发不同的TPCC,其中TPCC1只使用了通道6,7,受GPIO0,1触发,应用中其他的事件都是触发TPCC2中的通道的。其中只有TPCC1通道6,7只配置了GPIO触发,但是GPIO事件没有办法进入到TPCC1的事件寄存器中,所有没有成功触发!请问这种情况要如何解决!谢谢!

Andy Yin1:

确认GPIO产生了中断事件么? TPCC1上其他的通道可以被相应的事件触发么,如通道22可以被TINT4L触发么?如果也不行的话可能是TPCC1配置有问题,你先试试,实在不行把你的工程简化一下,只有EDMA及GPIO配置这一块发过来。

Hengwei Xiang:

Andy: 您好,我按照你说的方法确认了一下,GPIO的事件产生了, TPCC1上的其他通道也没有办法触发!TPCC的配置主要有三部分,一部分是全局参数设置,一部分是region资源分配,一部分是通道申请时的参数配置。由于具体的参数配置很大,直接放置不是很好查看,我以附件的形式发上来了,麻烦您帮我们修改一下,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » C6670 EDMA3实例切换问题
分享到: 更多 (0)