1 设计要求
利用DMA通道6将处理片内FLASH中32位数据缓冲区内的内容传送到RAM中所定义的缓冲区内。
在传输完成后会产生一个传输完成中断,最后将源缓冲区和目标缓冲区内的数据进行对比,
来核查所有的数据是否传输正确。由于是存储器到存储器之间的传送,DMA的传送通过软件
来启动。
2 硬件电路设计
由于是进行片内存储器到存储器之间的数据传送,因此无需硬件连接。
3 软件程序设计
根据设计任务要求,软件程序需要完成以下工作:
(1) 设置DMA通道6,使之实现FLASH到RAM的DMA传送;
(2) 配置评估板串行端口,用于将传输过程的状况以及传输的内容通过串口输出;
(3) 软件启动DMA传送,并对传送的源数据和目的数据进行比较。
整个工程包含3个源文件:STM32F10x.s、stm32f10x_it.c和main.c,其中STM32F10x.s为启动代码,
DMA传输结束中断服务子程序在stm32f10x_it.c中,其它函数则在main.c中。
注意,为了让源数据在Flash中,目的数据在RAM中,程序中定义源数据时进行初始化赋值,
源数据将被链接器定位于Flash中;而定义目的数据则不尽兴初始化赋值,目的数据将被定
位于RAM中。
4 运行过程
(1) 使用Keil uVision3 通过ULINK 2仿真器连接实验板,使用STM32V100评估板附带的串口线,
连接实验板上的UART0和PC机的串口,打开实验例程目录DMA_test子目录下的DMA.Uv2例程,编
译链接工程;
(2) 在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、
无硬件流控制);或者使用其它串口通信程序;
(3) 点击MDK 的Debug菜单,点击Start/Stop Debug Session;
(4) 使用内存窗口观测SRC_Const_Buffer和DST_Buffer所在的位置,可以发现SRC_Const_Buffer
地址为0x08001384,,即Flash中;DST_Buffer地址为0x20000030,即RAM中;
(5) 运行程序,通过超级终端观察串口输出,来判断DMA传输是否正确。正确结果为:首先输
出"boot success!",代表启动成功;接着输出"Complete transfer!",表示传输结束;然后
输出源数组里的值和目的数组里的值;最后通过比较两个数组的值,来判断是否传输成功,
并输出比较结果。
(6) 也可使用MDK软件仿真模式,用串行窗口来观察输出结果。
(7) 若想通过ITM Viewer来观测Printf数据,则需要加入#define DBG_ITM,并允许ITM跟踪,
详见RTX_Blinky例的说明。本例程中只要取消#define DBG_ITM前的注释符号即可。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
DMA_test.rar (38个子文件)
DMA_test
stm32f10x_conf.h 6KB
STM32DBG.ini 2KB
listing
main._ip 152B
stm32f10x_it.i 68KB
main.i 78KB
release.map 79KB
STM32F10x.lst 31KB
DMA_DMA.dep 4KB
output
main.d 2KB
main.o 173KB
release.hex 13KB
stm32f10x_it.d 2KB
stm32f10x_it.o 176KB
main.crf 151KB
release.htm 48KB
stm32f10x_it.txt 9KB
release.lnp 353B
debug.sct 479B
main.__i 230B
release.plg 499B
ExtDll.iex 19B
main.txt 24KB
debug.tra 1KB
release.tra 1KB
release.sct 479B
STM32F10x.o 5KB
release.axf 101KB
stm32f10x_it.crf 146KB
stm32f10x_it.c 22KB
DMA_Opt.Bak 4KB
DMA_Uv2.Bak 3KB
DMA.Uv2 3KB
STM32F10x.s 9KB
readme.txt 2KB
DMA_STM32F10x Release.dep 4KB
stm32f10x_it.h 3KB
main.c 13KB
DMA.Opt 4KB
共 38 条
- 1
资源评论
- zshfeng002013-06-09还好吧,适合初学者
- 快乐柑桔EO2013-10-14有用,参考这个进行了测试
- alyssala2013-09-25有用,参考这个进行了测试
- mumuzzz2013-10-28还好吧,适合初学者
coastsunny
- 粉丝: 3
- 资源: 37
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功