在DMA框架图中,主要为Cortex-M3核心以及三条总线,其他部分都可以看为存储器。 DCODE 总线是用于连接 Flash
存储器和处理器核心的总线。DCODE 总线是指指令解码总线(Data Code Bus),用于传输指令和相关的控制信号。
DMA总线用于访问存储器 或者 外设寄存器的数据 系统总线用来控制DMA配置寄存器
DMA1以及DMA2各自有不同的通道,每个通道配备仲裁器,用来控制通道中搬运顺序,AHB从设备是DMA配置寄存器
APB1以及APB2各自挂载着不同的外设,描述中的外设都可以触发DMA请求,但是每个请求会对应不同的DMA以及DMA中不同的通道,只能触发特定DMA通道
DMA1请求映像关系图
在DMA转运过程中,由于外设寄存器或者存储器并不都是位数一致的,所以当位长度不相等时,需要匹配,匹配规则如下。
注意:在转运的源地址外设寄存器与目标地址存储器并不是绝对的,外设寄存器里可以放存储器的地址,同理存储器也是