ZYNQ之嵌入式开发01——HelloWorld实验

本实验采用的开发板是黑金7020,ZYNQ嵌入式开发流程如下图所示。
在这里插入图片描述
ZYNQ 7000系列的功能块相互连接示意图如下图所示。
在这里插入图片描述


一、创建Vivado工程

Ubuntu中安装Vivado软件说明了如何在Ubuntu中安装Vivado软件,使用下面命令打开Ubuntu中的Vivado软件。

source /opt/Xilinx/Vivado/2017.4/settings64.sh
vivado &

打开后创建工程,选择工程要存放的路径,设置工程名称,然后点击下一步。
在这里插入图片描述
选择RTL工程,勾选不指定源文件。
在这里插入图片描述
选择对应的开发板类型。
在这里插入图片描述
接下来是信息汇总界面,如果前面设置有误可以返回修改。
在这里插入图片描述
到这里工程就创建完毕了!


二、添加并配置IP核

Vivado工程创建完毕后点击Create Block Design,创建一个模块设计。
在这里插入图片描述
创建好模块设计后在Diagram窗口中添加ZYNQ的IP核。
在这里插入图片描述
双击后该IP核就添加成功了。
在这里插入图片描述
双击该IP核后出现IP核的配置界面,如下图所示。
在这里插入图片描述
在DDR配置这里原则一个和自己开发板兼容的芯片型号。
在这里插入图片描述
查看原理图中UART对应的PS口,我的开发板对应的是48和49这两个口。
在这里插入图片描述
在外围IO口配置这里找到48和49口对应的UART双击,使其变成绿色。
在这里插入图片描述
BANK500对应的电压是3.3V,BANK501对应的电压是1.8V,可以从原理图中找到相应的依据。
在这里插入图片描述
在MIO配置界面中设置电压,按照原理图进行配置。
在这里插入图片描述
移除掉IP核上不必要的接口,取消勾选FCLK_RESET0_N和M AXI GP0接口。
在这里插入图片描述
取消勾选FCLK_CLK0接口。在这里插入图片描述
此时的IP核就很精简了,点击上面蓝色的Run Block Automation,在弹出的对话框中保持默认设置,点击OK即可。
在这里插入图片描述
点击验证设计有无错误。
在这里插入图片描述
生成输出产品。
在这里插入图片描述


三、生成顶层HDL

生成顶层HDL的过程很简单,右键system,选择Create HDL Wrapper即可。
在这里插入图片描述
生成结束后,双击打开.v文件,里面就是Verilog语言描述的。
在这里插入图片描述


四、导出到SDK

点击File—>Export—>Export Hardware,弹出下面的对话框,因为本实验不涉及到PL端的设计,因此不用勾选比特流文件,直接点击OK即可,导出的文件就存在于本工程中。
在这里插入图片描述
导出成功后在工程文件夹下就多了一个.sdk的文件夹,如下图所示。
在这里插入图片描述
进到该文件夹里面,只包括一个后缀为.hdf的文件。
在这里插入图片描述


五、在SDK中创建应用工程

点击File—>Launch SDK,弹出下面的对话框,点击OK即可。
在这里插入图片描述
等待软件启动。
在这里插入图片描述
启动成功之后点击左上角Application Project选项,弹出下面的对话框,设置工程名称后点击Next。
在这里插入图片描述
在这里选择一个空的应用,点击Finish。
在这里插入图片描述
完成之后就多了两个文件夹,一个是工程文件,一个是BSP板级支持包文件,BSP文件是连接工程文件和下面系统硬件文件的桥梁。在src目录下新建一个.c文件,创建完成后点击Finish。
在这里插入图片描述
在菜单栏Windows—>Preferences下的Appearance—>Colors and Fonts中,在右侧找到Basic—>Text Font就可以设置字体大小。
在这里插入图片描述
创建C程序成功后就可以在里面填入代码了,简单的代码如下。
在这里插入图片描述
写完代码后程序会自动被编译。


六、板级验证

连接开发板到电脑,不仅要接开发板上的JTAG接口,还要连接开发板上的UART接口。
在Ubuntu关闭的时候设置虚拟机,将串行端口添加进来,不然连接之后无法识别。
在这里插入图片描述
这里如果没有可选项,确保接口都是连接到虚拟机的,然后再修改/dev/目录下对应字符设备的权限为666,修改完成后再到这里就可以看见了。
在这里插入图片描述
然后选择项目下的.elf文件,右键选择在硬件平台上运行,如下图所示。
在这里插入图片描述
但是这个时候却出现了下面的问题,我没能在Ubuntu端解决这个问题,改用Windows下执行了。
在这里插入图片描述
同样的操作在Windows下就没问题,如下图所示,终端成功的打印出了Helloworld!
在这里插入图片描述
当然也可以不用自己开终端,SDK自带终端,如果窗口中没有SDK Terminal,可以在菜单栏找到Window—>Show View—>Other…下搜索调出该终端了。
在这里插入图片描述
串口的选择根据自己电脑识别的而定,如下图所示。
在这里插入图片描述
在硬件平台上运行,结果同样打印在了SDK终端中,如下图所示。
在这里插入图片描述


参考视频:
正点原子手把手教你学ZYNQ之嵌入式开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西岸贤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值