增加描述符到一个列的结尾
以添加新的描述符在描述符列表的末尾,创建在SRAM中的描述符,以DESCADDR = 00000000
表明它是该列表中的新的最后一个描述符,并且修改当前最后一个描述符的DESCADDR值到
新创建的描述符的地址。
在列表修改描述符
为了描述符添加到列表中,以下操作必须执行:
1.在启用一个通道,暂停中断使能
2.储备的内存空间地址来配置一个新的描述符
3.配置新的描述符
。设置下一个描述符地址( DESCADDR )
。设置目标地址( DSTADDR )
。设置源地址( SRCADDR )
。配置块传输控制( BTCTRL ),包括:
。可选择启用暂停块动作
。将描述符VALID位
4.在现有的列表以及用于具有要更新的描述符,设置有效位为零
5.阅读DESCADDR从写回内存
如果DMA尚未取出,需要改变的描述:
。从列表更新描述符的DESCADDR位置
。可选择清除挂起块动作
。将描述符VALID位置位
。选择是否启用恢复软件命令
如果DMA正在执行相同的描述符作为一个需要的改变:
。设置通道挂起软件命令,并等待暂停中断
。更新回写下一描述符地址( DESCRADDR )
。清除中断源和设置恢复软件命令
。从列表更新描述符的DESCADDR位置
。可选择清除挂起块动作
。将描述符VALID位置位
6.如果需要去步骤3
|