【记录】DMA
2016-07-16 21:49
176 查看
概要
直接存储器访问,Direct Memory Access,DMA。DMA是一个硬件控制器,负责为RAM和IO设备开辟单独的数据传输通道,可以将IO寄存器中的数据直接复制到指定的地址RAM中。而在没有DMA控制器的系统中,这种IO寄存器中的数据必须由CPU通过通用寄存器复制到RAM中的。
所以,当只是数据传输,没有逻辑处理时,可以考虑使用DMA控制器代替CPU实现RAM和IO之间数据的传输。
CPU善于执行逻辑运算,DMA善于数据传输,各有所长。
特性:
每个控制器有8个数据流,每个数据流有最多支持8个通道
数据流间可设置优先级
数据传输数据长度可设置
数据传输宽度可设置(通过FIFO缓冲实现)
5个事件标志
配置
通道选择
DMA数据流
源和目标地址
流配置
可能的DMA流配置
DMA中断
DMA操作方法
使能DMA时钟设置源地址
设置外设地址
设置传输数据大小
设置DMA数据流
启动DMA
实验要求
按键触发,将RAM中的数据发送到串口参考
STM32F3与 F4 系列 Cortex M4 内核编程手册STM32F4xxx中文参考手册
STM32F4xxx英文参考手册
STM32F4 开发指南(寄存器版)
相关文章推荐
- Objective-c分类
- 在eclipse中使用Tomcat8.0时出现Could not publish server ...错误
- C++实现R语言向量化运算(向量类:c 矩阵类:matrix)2015.9.11
- 企业级开源邮件系统搭建的全过程
- 竞赛排名 (Standard IO)
- 51Nod 1007 正整数分组 01背包
- 防止idea每次都默认以1.5版本编译的maven设置
- 我的Unity3D学习日记-06(自己动手制作FlappyBird)
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- VS助手安装失败---VS番茄助手安装成功重启VS却没有效果!!!
- [c/c++]指针(4)
- verilog语法之memory存储器
- Java反射机制(取得类的结构)
- 听俞炳洪讲话
- Razor语法与布局
- Undo Redo log实现事务
- 【一天一道LeetCode】#232. Implement Queue using Stacks
- 【一天一道LeetCode】#232. Implement Queue using Stacks
- PAT1006
- 剑指offer----二叉搜索树的第K个节点----java实现