两个通道,一个使用GPIO进行触发,并连接了一个PARAM进行自我连接,运行正常。连接是可以触发的。
另一个通道,方式为:TRIG_MODE_MANUAL,其他配置都是一样的,也连接了一个PARAM,但是连接到的PARAM没有运行,原本的那个运行到了。
手动触发 的在CC0与CC1两个DMA中都是无法连接。
Shine:
starterware里有edma手动触发例程OMAPL138_StarterWare_1_10_04_01\examples\lcdkOMAPL138\edma
user3688025:
回复 Shine:
就是根据这个做的,是无法连接,并不是DMA无法运行。 是连接到的PARAM没有执行。
Tony Tang:
user3688025另一个通道,方式为:TRIG_MODE_MANUAL,其他配置都是一样的,也连接了一个PARAM,但是连接到的PARAM没有运行,原本的那个运行到了
Link不同于Chain,Link后的PARAMSET需要触发才会启动(新的事件或者新的手动触发)
user3688025:
回复 Tony Tang:
一个通道默认是要设置一个PARAM0的,但是这个PARAM0连接到PARMA1,PARAM1不再连接:
param1.linkAddr = (unsigned short) 0xffffu;这时,手动通过EDMA3EnableTransfer进行触发一次,这时,PARAM0消耗完了,但是PARAM1一次也没有运行,这是正常的么?
不应该是把所有的PARAM都消耗完后才会结束么?
还是说,手动触发一次消耗PARAM0,再手动触发第二次才会消耗PARMA1.
手动触发第三次时呢,消耗PARAM0么?第四次再消耗PARMA1,这样的循环?
Shine:
回复 user3688025:
在edma例程里也有说明:手动触发需要多次使能EDMA3EnableTransfer /* * Since the transfer is going to happen in Manual mode of EDMA3 * operation, we have to 'Enable the Transfer' multiple times. * Number of times depends upon the Mode (A/AB Sync) * and the different counts. */