【记录】DMA
来源:互联网 发布:淘宝香辣零食店铺推荐 编辑:程序博客网 时间:2024/06/03 14:56
概要
直接存储器访问,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 开发指南(寄存器版)
0 0
- 【记录】DMA
- AXI DMA调试过程记录
- 记录2--s3c2440 DMA的操作
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- dma
- DMA
- dma
- DMA
- DMA
- 51Nod 1007 正整数分组 01背包
- 竞赛排名 (Standard IO)
- poj 3169 BellmanFord—差分约束
- C++实现R语言向量化运算(向量类:c 矩阵类:matrix)2015.9.11
- Objective-c分类
- 【记录】DMA
- C++之构造函数
- 使用Jenkins进行持续集成
- Java 方法的作用域中的内部类(不是在“外部类”的作用域中,当然,此处也没有相对的外部类)
- Vmware虚拟机安装caffe,Ubuntu安装caffe,CPU only版本
- Java 接口interface的详解
- shell脚本学习---nohup
- Django初探(一)
- 奶牛晒衣服 (Standard IO)