在c6678平台上,使用gpio上升沿作为cic3的输入,cic3的输出out0作为edma3cc0的触发信号。
因为cic3的sys interrupt status 是需要手动clear的,如果是用cic触发中断的话,可以再中断程序里面添加clear的语句,好让下一次触发可以被cic接受。
但是这里cic3触发的是edma,如何才能在每次触发之后自动clear sys interrupt呢?
Andy Yin1:
可以在后面增加一个param set用于清CIC事件,这个set被自动link chain执行。或者使用直接路由到EDMA的GPIO事件就不需要请CIC.
littleWhite:
回复 Andy Yin1:
谢谢,用第二个方法解决了。请问第一个方法,是说gpio通过cic触发edma的一个channel,该channel搬运完毕之后,chain到另外一个channel2上,channel2将内存中的预设值搬到cic的status寄存器中,clear掉system interrupt,是这样吗?
Andy Yin1:
回复 littleWhite:
不需要使用另一个channel,只需要link chain另一个set,这个set负责将内存的预设值搬到CIC status寄存器清楚系统中断事件。