TI中文支持网
TI专业的中文技术问题搜集分享网站

DAREH,DARE寄存器配置请教

请问下DMA用 region的话,DAREH,DARE是怎么配置的?
对于文档上描述的不是很懂,比如下面的代码,请高手赐教,谢谢
EDMA_REG->DRA[5].DRAEH = EDMA_REG->DRA[5].DRAEH|0xf;
EDMA_REG->SHADOW[5].IESRH = 0xf   //interrupt enable (bits 52-55) for shaddow region 5
EDMA_REG->IESRH = 0xf; 

Andy Yin1:

EDMA shandow region是将EDMA channel资源分成多个组,通过DARE寄存器来设定的,如果将0~15Channel分在region0,则配置DRAE0的bit0~15为1,此时在通过Region0的地址去访问channel0~15对应的bit是允许的,而通过region0的地址去访问其他的channel资源是无效的。

jian zong1:

回复 Andy Yin1:

你好还是不太理解,手册上说:there regiesters need to be programed to assigen ownership of DMA channel.and interfupt (or TCC codes)to the respective region. Accesses to DMA  eventregisters and interrupt regisers via the shadow region address map are filteredthrough the DRAE/DRAED pair. a value of 1 in the cooresponding DARE(H) bit impliesthat the corresponding DMA /interrupt chaanle is accessible.

如果regionAccess.dare = 0xFFFF;  regionAccess.dareh=0x0, 都说是分配了DMA通道1到通道15,那这里的TCC codes是怎么体现的?

如果dare = 0xFFFFFFFF;dareh = 0xFFFFFFFF就仅仅说明region能用64个channel吗。还能给出其他信息吗?难道说,这俩寄存器只是用来指定region所用的通道吗?如果不能,那怎么体现出上面英文里的 assigen ownership of  interfupt (or TCC codes)???

谢谢,

 

 

user2000895:

回复 jian zong1:

这个应该只是一个影子寄存器  真正执行动作 的应该不是这个寄存器  应该会把这个影子寄存器的内容装载到相对应的寄存器

 

Andy Yin1:

回复 user2000895:

xie yuanfu的理解是正确的,shandow region register只是一个影子寄存器。通过配置DRAE人为将各个channel分配到各个region,之后如果要通过region register去访问channel资源,则只能影响到DRAE中相应bit置1的channel,其他的channel不能受该组region register的影响。

Andy Yin1:

回复 jian zong1:

上述英文说的意思是:DARE是对某一个shandow region 的映射地址指定访问的channel权限,只有DARE(H)中相应bit为1的channel,才可以通过该DARE对应region地址进行访问。

赞(0)
未经允许不得转载:TI中文支持网 » DAREH,DARE寄存器配置请教
分享到: 更多 (0)