以下的DMAC比特写保护,意味着只能在DMAC和CRC都禁止的情况下(CTRL.DMAENABLE和CTRL.CRCENABLE是0):
。软件复位比特在控制寄存器里(CTRL.SWRST)
以下DMA通道寄存器使能保护,意味着,它只能被写当对应的DMA通道被禁止时(CHCTRLA.ENABLE是0):
。通道控制B(CHCTRLB)寄存器,除了命令(CHCTRLB.CMD)和通道总裁级别比特(CHCTRLB.LVL)
以下的DMA通道比特是使能保护,这意味着它只能写在相应的DMA通道被禁用:
。通道软件复位比特在通道控制A寄存器(CHCTRL.SWRST)
以下的CRC寄存器使能保护。意味着它们只能在CRC禁止的情况下被写(CTRL.CRCENABLE 是0)
。CRC控制寄存器(CRCCTRL)
。CRC效验寄存器(CRCCHKSUM)
使能保护是通过寄存器描述里的使能保护属性指示的。
在DMAC被使能之前,它必须被配置,大至如下步骤:
。描述符内段所含的内存地址必须被写入到描述符地址寄存器
。回写段所含的内存地址必须被写入到回写内存地址寄存器
。总裁的优先级X通过向控制寄存器里的优先级X使能比特写1来使能。
在一个DMA通道使能之前,DMA通道和相应的第一次传输描述符必须被配置,大至如下:
。DMA通道配置
。配置的DMA通道的通道号必须被写入通道ID寄存器
。触发动作必须通过向通道控制B寄存器中的触发动作比特组写来选择。
。触发源必须通过向通道控制B寄存器中触发源比特组写来选择
|