TI中文支持网
TI专业的中文技术问题咨询交流网站

c66x edma

想请教下TI的员工,pdk_C6678_1_1_2_6\packages\ti\csl\example\edma\edma_test.c例子里面edma使用了中断,但没相关的中断服务函数,和注册中断,请问如何理解,此外中断触发的条件是手动触发,意思是我使用了“CSL_edma3HwChannelControl(hChannel,CSL_EDMA3_CMD_CHANNEL_SET,NULL)”就可以触发传输了吗?

regionIntr.region = regionNum;regionIntr.intr = 0;regionIntr.intrh = 0;do {/* Poll on interrupt bit 0 */CSL_edma3GetHwStatus(hModule,CSL_EDMA3_QUERY_INTRPEND,&regionIntr);} while (!(regionIntr.intr & 0x1));/* Clear interrupt bit 0 */if (CSL_edma3HwControl(hModule,CSL_EDMA3_CMD_INTRPEND_CLEAR, &regionIntr) != CSL_SOK){printf("Error: EDMA clear interrupt bit 0 command is failed\n");return -1;}

Minister:

回复 Shine:

还想请问下既然是POLL轮询模式,为什么调用到的函数都是和中断有关,并且需要清中断

Minister:

回复 Shine:

能这么理解么,
轮询机制:①手动触发edma,开始传输。②中断标志位置1后代表传输完成。③清除中断标志位,继续往下执行。
中断机制:①同样手动触发edma,开始传输。②中断标志位置1后代表传输完成。③进入中断服务函数,清楚中断标志位。④继续回主函数往下执行

Minister:

回复 Shine:

Shine 你好,
还有些edma3的疑问,比方说6678的EDMA3 CC2,里面有64个DMA channels,64个interrupt channel,4个event queues 和4个TC和8个shadow regions。
①一般一个EDMA3 是由TC 和CC组成的,此处的CC2 有4个TC和64个channels,但是在代码里面一般配置的是channel map 参数集,没见到有配TC的,这是为什么呢?
②如何理解64个DMA channels,64个interrupt channel,4个event queues 和4个TC他们之间的关系呢?
谢谢,期待回复

Shine:

回复 Minister:

新问题麻烦另起新帖,方便其他客户查看,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » c66x edma
分享到: 更多 (0)