在ZYNQ-7000平台上利用PS点亮PL上的LED灯
在ZYNQ-7000平台上利用PS点亮PL上的LED灯
1、实验方案
图1 实验方案系统框图
2、具体步骤
2.1、vivado工程建立
①打开vivado集成开发环境,点击“Create Project”,如下图所示。
②点击“Next”,如下图所示。
③在“Project name”中输入工程名;在“Project location”中选择保存路径;勾选“Create project subdirectory”,最后点击“Next”,如下图所示,注意均不要出现中文。
④选择“RTL Project”,点击“Next”,如下图所示。
⑤点击“Next”,如下图所示。
⑥点击“Next”,如下图所示。
⑦输入芯片型号,然后点击“Next”,如下图所示。
⑧点击“Finish”,完成vivado的工程创建,如下图所示。
2.2、创建一个Block设计
⑨IP INTEGRATOR→Create Block Design,在弹出的对话框中输入设计名,最后点击“OK”,如下图所示。
⑩点击“+”,在搜索框中输入“zynq”找到“ZYNQ7 Processing System”,双击就可以将ZYNQ处理器添加到设计中了,如下图所示。
⑪双击ZYNQ→DDR Configuration→DDR Controller Configuration→DDR3,在Memory Part下拉菜单中根据自己板子上的DDR来选择相应的DDR3,本实验所用到型号:MT41K256M16 RE-15E,最后点击“OK”,如下图所示。
注意这里的DDR3并不是和板子上的DDR3严格对应,而是参数最接近的型号,有时候实验不通的话,问题往往出现在这里,可以多试几个。
⑫点击“Run Block Automation”如下图所示。
⑬在弹出的选项中保持默认,点击“OK”,即可完成对ZYNQ7 Processing System的配置。
⑭按照添加ZYNQ7 Processing System的方法,继续添加AXI GPIO,然后双击AXI GPIO,打开AXI GPIO配置对话框,由于只有输出4个led灯,故而按照下图对其进行设置,最后点击“OK”确认。
⑮点击“Run Block Automation”即可完成对AXI GPIO的设置,如下图所示
⑯点击“Run Connection Automation”。
⑰在弹出的对话框中按照下图所示配置,然后“OK”确认。
⑱最后生成如下的框图。
⑲在框图中点击gpio引脚,在左边的“External Interface Properties”给gpio起名leds,如下图所示。
⑳source→design_1→create HDL wrapper…,如下图所示。
21在弹出的对话框中,保持默认,点击“OK”确认,如下图所示。
22至此,可生成HDL文件,如下图所示。
2.3、.XDC文件约束PL管脚
23在source目录下,点击“+”,在弹出的对话框中选定“Add or create constraints”最后点击“Next”,如下图所示。
24点击“Create File”,在弹出的对话框中给约束文件命名,点击“OK”确认,如下图所示。
25点击“Finish”,完成约束文件的创建。
26打开新建的约束文件,进行如下的管脚分配。
27产生bit文件。
2.4、SDK程序编写
28File→Export→Export hardware…,在弹出的对话框中勾选“include bitstream”,点击“OK”确认,如下图所示。
29File→Lauch SDK,在弹出的对话框中,保存默认,点击“OK”,如下图所示。
30至此,打开SDK开发环境,如下图所示。
31file→new→Application Project,来新建一个“Application Project”,如下图所示。
32 给Application Project命名,最后点击“Next”,如下图所示。
33选择“Empty Application”,然后点击“Finish”,如下图所示。
34axi_led_bsp→system.mss→import examples,在弹出的对话框中选择“xgpio_example”,最后点击“OK”确认,如下图所示。
35这样新建一个“xgpio_example”,如下图所示。
2.5、下载调试
36design_1_wrapper_hw_platform0→Program FPGA,在弹出的对话框中选择默认,点击“program”,如下图所示;第一次下载可能会失败,第二次下载就成功了,这样就完成了bit文件的下载。
37axi_led_bsp_xgpio_example_1→Run As→1 Launch on Hardware(System Debugger),
2.5、实验总结
38下面是实验测试结果的视频,可以看到4个led在闪烁。(由于视频上传不了,只有个图片)
2.6、备注及疑问
40注意这里的DDR3并不是和板子上的DDR3严格对应,而是参数最接近的型号,有时候实验不通的话,问题往往出现在这里,可以多试几个。
41第一次下载可能会失败,第二次下载就成功了,这样就完成了bit文件的下载。
2.7、参考资料
1. cource_s1_ALINX_ZYNQ(AX7010_AX7020)开发平台基础教程V1.09
2. https://blog.csdn.net/q416524389/article/details/83865266
3. https://blog.csdn.net/weixin_39813867/article/details/83512913
在ZYNQ-7000平台上利用PS点亮PL上的LED灯的更多相关文章
- 利用ps在光污染地图上寻找最近的观星地区
城市灯光对于天文观测和天文摄影是有害的,进行这两类活动之前应提前规划地点,下面是笔者尝试的一种利用ps在光污染地图上进行规划的方法. 目前大部分的光污染地图都是基于WA 2015绘制的,可以结合VII ...
- 开发机器上利用vs2013调试远程IIS上的c#程序
当远程IIS上的C#程序出现问题,怎么排错,一般我们通过看日志排查错误的方法,这种方法在程序异常日志都打印出来的情况下是可以解决的,但如果程序日志不详细,或者从日志看不出有用的内容的时候怎么排错? 本 ...
- [转帖]X86_64平台上利用qemu安装aarch64架构的虚拟机
X86_64平台上利用qemu安装aarch64架构的虚拟机 https://blog.csdn.net/chenxiangneu/article/details/78955462 遇到原作者一样的问 ...
- Android平台下利用zxing实现二维码开发
Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...
- Mac上利用Aria2加速百度网盘下载
百度网盘下载东西的速度那叫一个慢,特别是大文件,看着所需时间几个小时以上,让人很不舒服,本文记录自己在mac上利用工具Aria2加速的教程,windows下思路也是一样! 科普(可以不看) 这里顺带科 ...
- (转载)Android平台下利用zxing实现二维码开发
Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...
- 在阿里云托管kubernetes上利用 cert-manager 自动签发 TLS 证书[无坑版]
前言 排错的过程是痛苦的也是有趣的. 运维乃至IT,排错能力是拉开人与人之间的重要差距. 本篇会记录我的排错之旅. 由来 现如今我司所有业务都运行在阿里云托管kubernetes环境上,因为前端需要对 ...
- window上利用pip安装pandas
官网推荐的是直接使用Anoconda,它集成了pandas,可以直接使用.安装挺简单的,有windows下的安装包.如果不想安装庞大的Anoconda,那就一步一步用pip来安装pandas.下面我主 ...
- 利用Mahout实现在Hadoop上运行K-Means算法
利用Mahout实现在Hadoop上运行K-Means算法 一.介绍Mahout Mahout是Apache下的开源机器学习软件包,目前实现的机器学习算法主要包含有协同过滤/推荐引擎,聚类和分类三个部 ...
随机推荐
- HTML 5与CSS 3权威指南(第2版·上册) 中文pdf扫描版
HTML5与CSS3权威指南(第2版·上册)已经成为HTML 5与CSS 3图书领域的一个标杆,被读者誉为“系统学习HTML 5与CSS 3技术的最佳指导参考书之一”和“Web前端工程师案头必备图书之 ...
- windowsPhone一些不常见控件
1.InkPresenter:可以产生手写效果的控件. http://www.cnblogs.com/randylee/archive/2010/08/10/1791222.html 2.Thumb: ...
- MariaDB 一些SQL语句的执行
通过拼接的TAG_NAME字符串获取对应的TAG_ID字符串 形如: '丹药|练功流|轻松|学生|学院风' 查询结果:'10|35|36|40' SELECT GROUP_CONCAT(TAG_ID ...
- 201621123012 《Java程序设计》第1周学习总结
1. 本章学习总结 学习了java的理论知识和它与C语言的差别,什么是JVM,区分JRE与JDK并学习JAVA环境的安装.熟悉控制台下的常用命令,java函数的编写.熟练使用编写JAVA所需要的工具( ...
- 日期 Date()
1.Date 对象用于处理日期和时间.创建 Date 对象的语法:var myDate=new Date()Date 对象会自动把当前日期和时间保存为其初始值.2.参数形式有以下5种: new Dat ...
- winform datagridview某一列设为自动宽度
如果用displayedcells只会使看见的数据自动列宽,滚动条往下发现后面的没有自动列宽,所以要用allcells就不会出现这个问题
- python基础之内置函数(一)
内建函数都在 _builtins_ 里面 (1)abs() 取绝对值 adb(-10) 10 (2)bool()将参数转换成布尔型,返回值是True或False 参数是数字时,0返回False,其他任 ...
- jq学习笔记(二)
jq笔记-dom篇-慕课网学习笔记 1.jQuery节点创建与属性的处理 创建元素节点: 1.$("<div></div>") 创建为本节点: 1.$(&q ...
- Python实现KNN算法
Python实现Knn算法 关键词:KNN.K-近邻(KNN)算法.欧氏距离.曼哈顿距离 KNN是通过测量不同特征值之间的距离进行分类.它的的思路是:如果一个样本在特征空间中的k个最相似(即特征空间 ...
- postgresql编译安装与调试(一)
因为最近组里的项目和postgresql有关,并且需要查看和调试源码,所以专门学习了一下如何安装和调试postgresql,此博文用来记录自己的安装和调试过程.安装环境是CentOS6(CentOS7 ...