使用CSL_edma3ChannelSetupTriggerWord(hChannel,7)设置QCHMAP的TR_WORD字段为7,但触发时CSL_edma3ParamWriteWord(hParam,7,1),为什么写1呢?设置时的7代表什么含义?
Andy Yin:
您好,
关于QDMA,支持auto-trigger,通过写入param set中指定的word后,就会启动该EDMA channel。具体在实现的时候首先需要通过配置寄存器QCHMAP将QDMAchannel与特定的param set对应,同时通过该寄存器指定param set中的哪一个word(总过8个word,0~7)作为trigger word。
所以根据你的描述可以解释为:首先调用了函数CSL_edma3ChannelSetupTriggerWord指定相应channel的param set中的最后一个word为trigger word,然后调用CSL_edma3ParamWriteWord向最后一个trigger word写入1(对应CCNT),从而启动QDMA。
具体QDMA请稍微了解一下EDMA user guide,同时可以了解一下CSL函数的接口机底层实现功能,从而可以解答你的疑问。谢谢
Tony Tang:
CSL的源码有提供,查一下源码吧。