02.24 使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现"Hello World"

Vitis是 Xilinx 最新推出的开发平台,虽然Vitis 早就在电脑上安装好了,但一直没怎么使用。


现在用低成本的ZYNQ矿机来体验下 Vitis ,看看与之前版本的软件有什么区别。

1.Vivado 搭建 ZYNQ 的硬件平台

这一步,按照以前版本的使用方法,创建好工程,在 Block Design 里面添加 ZYNQ IP,再对 ZYNQ IP 进行简单设置就 OK 了。可以看到 EBAZ4205 的原理图,ZYNQ 的串口是直接连在了一个 排针上面。


使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

EBAZ4205 PS串口连接引脚

这两个管脚对应的是PS_MIO24 和 PS_MIO25 ,所以在 ZYNQ 中设置串口引脚为 24, 25 。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

ZYNQ IP 串口引脚设置

另外一个就是需要设置 ZYNQ 的DDR3,在EBAZ4205 上用的DDR3 芯片型号是 EM6GD16EWKG-12H ,在 ZYNQ IP 内部没有该型号DDR3。可以根据手册自定义一下。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

ZYNQ DDR3 配置

其实我自己对 ZYNQ IP 也就设置了这两个地方,一个是串口,另一个是DDR3 ,其他都保持默认。最终在 Block Design 中的结果,如下图所示。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

ZYNQ DDR3 配置

其实我自己对 ZYNQ IP 也就设置了这两个地方,一个是串口,另一个是DDR3 ,其他都保持默认。最终在 Block Design 中的结果,如下图所示。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

Block Design 连接

2.EBAZ4205 板子上需要有些改变

串口排针在板子上并没有焊接,若需要使用串口需要自行焊接。还需要焊接的是 JTAG 接口。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

板子上串口和JTAG

另外,板子上的对于串口,并没有接口转换芯片,所以还需要有串口的接口转换芯片。另外我这里用的是之前用在 A01 核心板上的 VGA & 串口模块。最终的接线图如下:

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

板子串口连接示意图

VGA & 串口模块是可以直接插在 新生产的 EBAZ4205 转接板上的,接口上完全兼容。

3.Vitsi 开始调试

在 Vivado 2019.2 中启动 Vitis 的方式 与我现在用的 vivado 2017.4 有些不一样,当然这一点也不清楚是在 2019.2 版本中做的改变还是在2018版本就已经有了,毕竟我没有下载 vivado 2018 相关版本来用。

Tools->Launch Vitis,可以启动 Vitis。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

Vivado启动Vitis


使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

Vitis 启动界面

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

Vitis欢迎界面

vitis 和之前用 SDK 还是有些区别,在 Vitis 中需要先创建硬件平台工程。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

创建硬件平台工程

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

输入工程名字

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

选择导入硬件平台信息

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

指定硬件平台信息路径

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

创建好硬件平台后的界面

之后再创建应用工程。

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

创建应用工程

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

选择硬件平台

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

选择Hello World

使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

应用工程创建好之后的界面

之后启动调试,在PC端打开串口调试助手,波特率设置成115200bps。可以在串口调试助手中看到打印的 “Hello World” 信息。


使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

串口调试助手

再改一下代码,重新下载,也能看到有新的信息显示。


使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现


使用 Xilinx Vitis 在ZYNQ(EBAZ4205矿机)上实现

4.需要注意的地方

  1. 在 Vitis 中,工程需要手动编译,并不是默认保存后会自动编译;
  2. 在 Vitis 对 EBAZ4205 启动调试时,Vitis 会提示 FPGA的 Done 引脚未拉高。这个问题在 Vivado 2017.4 中并未出现,还需确认下是否是由于ZYNQ的启动配置导致该问题。目前的解决方法,可以先通过 Vivado 把 bit 文件先下载给FPGA,在 Vitis 调式设置中选择不下载 FPGA 。

如果是用惯了SDK开发,Vitis 第一次用还是有点不太习惯的,多用几次就好了。另外,之前在公众号的另一篇文章中,有 40 位左右网友留言需要 EBAZ4205 矿机转接板。目前转接板已经在生产 PCB 了。预计一周后发回给我。

在朋友圈看到有网友问是免费还是怎么?

还是再重复一下,转接板不是免费,而是零利润给大家,PCB生产、购买物料、焊接、包装,这些都是要成本的,综合一下成本后,零利润给到大家,也算是给一直给我支持的广大网友的福利吧。


分享到:


相關文章: