EDMA的channel和event好像是对应的,没有办法手动的map,想知道这种情况下,如何让一个外部事件通过gpio同时触发两个edma的channel。谢谢~
Allen35065:
1对多的映射需要使用INTC2或者INTC3将GPIO事件映射到多个channel上,结合C6678手册第7.5节Interrupt以及附件手册,你可以了解如何使用该功能。
littleWhite:
回复 Allen35065:
你的意思是用CIC2和CIC3来映射吧,我试过,gpio输入的触发信号先经过cic的映射到cic_out,然后cic_out作为edma的触发event,但是CIC的system interrupt到channel的map不能一对多,cic的文档SPRUGW4A(1.3.3节)里有如下一句:
please note that the interrupt cannot be mapped to multiple channels but the connection is selected by the channel map register value.
所以gpio到cic_out的映射是一对一的,切cic_out与edma event的映射是fixed的,不可更改,
On the C6678, the association of each synchronization event and DMA channel is fixed and cannot be reprogrammed.
所以没找到合适的方法来讲gpio映射到多个edma channel上去,我现在直接用gpio的pin0,pin1分别触发edma的两个channel,pin0,1短接。但是浪费一个管脚啊。