本文主要是介绍PYNQ Z2二:第一个工程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PYNQ Z2二:第一个工程
- Hello World
- 介绍
- 下载安装vivado
- 建立第一个工程
- 添加PYNQ-Z2的配置信息
- 添加引脚约束文件XDC
- 串口通讯
Hello World
PYNQ Z2端通过串口输出的PC端
介绍
PYNQ Z2使用的是jupyter_notebooks在线Python开发,但是,PYNQ脱胎于ZYNQ,其基本架构依然延续ZYNQ。本人没有开发ZYNQ的经验,所以,为了更深入的了解PYNQ Z2的内部机制,先学习了ZYNQ的开发,在总结了各路大牛的博客之后,在 ALINX_ZYNQ开发平台基础教程V1.02 第四章:PL的“Hello World”LED实验的指导下,完成了本次实验,因为PYNQ与ZYNQ终归是有些区别的,在具体实验过程中要懂得灵活做出改动。
下载安装vivado
个人建议前往官网下载
本人下载的当前最新版本2019.1
图1:vivado2019.1下载 |
---|
先下载WebPACK,要注册账号,和填一些下载信息
图2:安装文件 |
---|
下载完成后如上图所示,直接运行,账号登陆,可以选择边下载边安装也可以下载独立完整的安装包,本人选择的是下载独立完整的安装包。下载速度稳定在4M左右,而网上其他的下载链接一般是百度云盘,下载速度在几M到几百K变动,相对于上述方法慢了一点。而且本人尝试从其他地方下载WebPACK再下载2018.1失败了两次,通过官网下载一次成功。下载完毕后的安装参考虚无缥缈vs威武的博客。
本人一次就安装成功了,但是接下来出问题了,简单描述一下。
图3:应用图标 |
---|
安装完成后如图3所示。
图4:操作系统规格 |
---|
系统版本如图4所示,除了DocNav外其他都打不开,在网上看了很多攻略,但是参考意义较小。
图5:运行报错提示 |
---|
报错如上图所示,经过大量的实验后发现,鼠标右键->以管理员身份运行就可以打开了,或者打开CMD界面,将图标拖拽进去Enter也可以打开,真是简单到想哭。
建立第一个工程
本次实验很大程度参考了Mculover666的博客因此有部分内容会省略,以避免重复。
添加PYNQ-Z2的配置信息
将PYNQ-Z2文件夹添加到下面的根目录下,安装目录不同而不同
E:\Xilinx\Vivado\2019.1\data\boards\board_files重新打开vivado软件即可。
图6:PYNQ-Z2文件夹内部文件 |
---|
如图6所示为PYNQ-Z2文件夹内部文件。
添加引脚约束文件XDC
官网下载链接
实验具体步骤参考
ALINX_ZYNQ开发平台基础教程V1.02 第四章:PL的“Hello World”LED实验,需要注意的有以下几点:
XDC存储的是对工程的管脚约束和时许约束,本人在添加完XDC文件后因为第一次使用vivado所以对XDC的用途不是很清楚,所以添加完XDC文件后直接跑synthesis、implementation和generate bitstream
本人在这里弄了很久都不行,最后本人通过引脚连接自己编写XDC文件才成功生成ledbit文件。
图7:LED引脚定义1 |
---|
图8:LED引脚定义2 |
---|
图9:LED引脚定义3 |
---|
图10:LED引脚定义4 |
---|
如上图7、8、9、10所示是PYNQ-Z2的引脚定义,进行管脚约束和时许约束后的XDC文件如图11所示:
图11:XDC文件 |
---|
虽然最后成功了,但是一直不知道前面哪里出错了,好难受。
串口通讯
图12:串口对应的引脚号 |
---|
串口对应的引脚号。为《MIO14、MIO15》
补充:通过Board File中的part0_pin文件可以很轻松的查询到PYNQ-Z2的引脚定义,如图13所示:
图13:Board File中的part0_pin文件 |
---|
图14:根据引脚定义选择合适的UART0 |
---|
这里我们选择UART0,如上图14所示.
图15:硬件设计的信息 |
---|
Launch SDK后可以看到硬件设计的信息,包括目标芯片型号,设计软件版本和设计日期,还有可供开发使用的PS端外设的寄存器列表。
注:每次修改SDK中的C文件后都要Save All并Project->Build All,代码无错误,编译通过才可以写入,否则会写入上一次的程序。
图16 |
---|
如图16所示,在修改三次代码后才编译通过,写入成功。
图17:修改后的代码 |
---|
如图所示为修改后的代码,打印不同进制数。
这篇关于PYNQ Z2二:第一个工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!