1. 6678中共有3组DMA,分别是DMA0,DMA1,DMA2,每组有多少个通道数和队列数,以及SHADOW Regions和Global Region与这些DMA的关系是什么?
2.在使用DMA1时,使用不同的通道数但使用相同的队列(Event Queue)这样会发生冲突吗?
Thomas Yang1:
1 每个CC对应的TC通道数如下:
EDMA3CC0 has two transfer controllers: EDMA3TC1 and EDMA3TC2.EDMA3CC1 has four transfer controllers: EDMA3TC0, EDMA3TC1, EDMA3TC2, and EDMA3TC3.EDMA3CC2 has four transfer controllers: EDMA3TC0, EDMA3TC1, EDMA3TC2, and EDMA3TC3
EDMA3CC将其地址空间划分为8个区域(Regions),从每个Region的地址空间都可以访问EDMA3CC的寄存器。即尽管物理上这些寄存器只有一份,但可以通过8个shadow region空间来访问。用户可以设置某个Region只能访问(R/W)这些Register的哪些bit,访问没有授权的bit是无效的。Region机制相当于提供了一个Filter给用户,通过每个shadow region去R/W这些CC的寄存器,只对授权的bit起作用。这样,尽管这些寄存器物理上只有一份,但不同的region去操作它们互不影响
2 会,TCn和event queue n 是一一对应的。
xinglin chen:
回复 Thomas Yang1:
如上图所示,ChannelNum为通道数,也就是每个核的CoreID,每个核初始化一个通道,每个通道都使用相同的event queue ,也就是CSL_EDMA3_QUE_0.这样初始化DMA可以吗?在进行DMA搬数时会不会发生冲突?
我想初始化8个通道,但是只有4个event queue ,也就是CSL_EDMA3_QUE_0———CSL_EDMA3_QUE_3,所以必须要有一些通道使用相同的event queue 。这个该怎么解决?