Xilinx社区
首页 > Steve专栏 > Zynq DMA第七篇:Adam Taylor 玩转MicroZed 系列29
Steve专栏
Zynq DMA第七篇:Adam Taylor 玩转MicroZed 系列29
来源:  时间:2015-01-27  浏览量:1857

作者:Steve Leibson, 赛灵思战略营销与业务规划总监

前期博客中介绍了 Direct Memory Access,本博客将主要介绍利用简单示例演示如何设置和使用DMA。要演示这个示例,我使用一个DMA控制器通道将一个内存位置转移到另一个存储器位置。

与我们在本博客系列中的方法一样:加上所生成的头文件作为BSP的一部分。这些头文件提供了宏和函数,我们可以用来驱动DMA 。我们将在这个示例中加入:


Xscugic.h和xil_exceptions.h允许使用中断控制器,同时 xdmaps.h可配置和使用DMA 。

使用xparamters.h提供的参数,可定义DMA和中断控制器的设备标识、将要使用的中断、以及将要传输的数据长度:


开发部分的下一个步骤是写入三个函数配置DMA ,配置中断控制器,并在完成DMA传输后中断服务程序。

在DMA配置函数内,我们利用xdmaps.h提供的指令结构,创建DMA命令。DMA指令包括通道控制、块描述符、用户定义的程序、生成程序的指针和传输结果。由于这个示例很简单,不需要使用所有组件,但我们需要按照如下指令配置DMA控制器:


接下来的步骤是初始化和配置DMA控制器,然后运行中断设置函数连接DMA中断与中断控制器:


完成上述操作后,在连接已实现的处理器并开始传输前,源存储器位置加入数据,目标位置清空数据,以跟踪向DMA进程函数调用的进程:


当附加源代码文件在MicroZed上运行后,在RS232监视器输出1中显示以下结果以报告运行状态。


学习DMA控制和基本示例后,我将在下一篇博客中会讲解如何查看MicroZed加载卡,以及如何使用模块系统当中的MicroZed。

原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Zynq-DMA-Part-Two-Adam-Tayl...  

© Copyright 2014 Xilinx Inc.
如需转载,请注明出处

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052