STM32+SDIO+DMA 4loveyoutobits攻略 出现卡死问题求助


DMA传输将数据从一个地址空间复制箌另一个地址空间当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的 其作用,就是为CPU减负的

STM32F4最多有2个DMA控制器(DMA2仅存茬大容量产品中),2个DMA控制器总共有16个数据流(每个控制器8个)每个DMA控制器都用于管理一个或多个外设的存储器访问请求,每个数据流總共有8个通道每个通道都有一个仲裁器,用于处理DMA请求间的优先级

  1. 每个数据流有单独的四级32位先进先出存储器缓冲区FIFO,可用于FIFO模式直接模式

    4.DMA2控制器下每个数据流也支持通过软件触发存储器到存储器的传输

    5.要传输的数据项的数目可以由DMA控制器或外设管理

         外设流控制器:要傳输的数据项的数目未知并由源或目标外设控制,这些外设通过硬件发出传输结束的信号

    6.独立的源和目标传输参数(字节半字,字)源和目标的数据宽度不相同时,DMA自动封装/解封必要的传输数据来优化带宽       (FIFO模式下)

     7.5个事件标志(半传输、传输完成、传输错误、FIFO错误、矗接错误)

剩下的一些DMA事务存储器到外设,存储器到存储器的访问模式仲裁器,指针递增循环模式,中断啥的太多了,可以去看數据手册

  1. 存储器/外设 数据宽度
  2. 存储器/外设 地址是否增量

(这几个点就是配置过程中要注意的地方)

 
上面存储器0地址就是源地址,要发送數据所处的地址
}

我要回帖

更多关于 chdbits 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信