码迷,mamicode.com
首页 > 其他好文 > 详细

STM32之DMA

时间:2014-05-21 03:49:31      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:c   a   文件   使用   数据   工作   

一、DMA简介

1、DMA简介

  DMA(Direct Memory Access:直接内存存取)是一种可以大大减轻CPU工作量的数据转移方式。

  CPU有转移数据、计算、控制程序转移等很多功能,但其实转移数据(尤其是转移大量数据)是可以不需要CPU参与。比如希望外设A的数据拷贝到外设B,只要给两种外设提供一条数据通路,再加上一些控制转移的部件就可以完成数据的拷贝。

  DMA就是基于以上设想设计的,它的作用就是解决大量数据转移过度消耗CPU资源的问题。有了DMA使CPU更专注于更加实用的操作--计算、控制等。

2、DMA是否影响CPU的运行

  在X86架构系统中,当DMA运作时(假设我们从磁盘拷贝一个文件到U盘),DMA实际上会占用系统总线周期中的一部分时间。也就是说,在DMA未开启前,系统总线可能完全被CPU使用;当DMA开启后,系统总线要为DMA分配一定的时间,以保证DMA和CPU同时运作。那么显然,DMA会降低CPU的运行速度。

  在STM32控制器中,芯片采用Cortex-M3架构,总线结构有了很大的优化,DMA开启会另外的提供通路总线,并不会占用CPU的系统总线。也就是说,DMA的使用不会影响CPU的运行速度。

二、STM32的DMA结构

1、

  

  

STM32之DMA,布布扣,bubuko.com

STM32之DMA

标签:c   a   文件   使用   数据   工作   

原文地址:http://www.cnblogs.com/amanlikethis/p/3739483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!