跳转到主要内容

Vitis使用教程

joycha 提交于

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/I_LOVE_MCU/article/details/109456549

在学习ZYNQ嵌入式开发的过程中,正点原子的教程是采用SDK,而我下载的vivado2020.1已经变成了vitis,所以写一这篇博客,方便后续查阅。

<strong>找到vitis</strong>
vivado->tools->launch vitis ide
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

如果打开失败,说明没有安装vitis,先进行安装

<strong>安装vitis</strong>
vivado->help->Add Design Tools or Devices…
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

退出杀软来加速安装,下一步,登录,
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

建议点击preference,关闭optimize disk usage,否则安装结束后可能会卡在optimize disk usage上。有人优化了一晚上没结束,不得已重装。我晚上打开安装程序,第二天发现电脑已经睡眠了,程序卡在optimize disk usage上,等了半上午,快失去耐心得时候安装完成了。
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

我已经安装完成了,所以是灰色状态。

<strong>创建platform工程</strong>
vivado->tools->launch vitis ide

选择工作路径
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

先创建一个 platform project,填写工程名
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

选择xsa文件路径
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

<strong>创建application工程</strong>
新建一个应用工程
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

选择刚刚创建的平台
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

填写应用工程名
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

默认、
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

选择空白C工程
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

结束工程创建
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

找例程
explorer->platform工程名->platform.spr->board support package
board support package点击一次显示
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

board support package再点击一次,并拖动滚动条找到GPIO部分
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

可以查看文档documentation,也可以加载例程
点击 Documentation 将在浏览器窗口打开 GPIO 的 API 文档,里面有关于 GPIO 的详细信息
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

点击 Import Examples,会弹出下图所示的导入示例界面
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

这两个示例的介绍可以在刚才打开的 API 文档中看到。
xgpiops_intr_example.c 包含有关如何直接使用 XGpiops 驱动程序的示例。此示例显示了中断模式下驱动程序的用法,并使用 GPIO 的中断功能检测按钮事件,根据输入控制 LED 输出。
xgpiops_polled_example.c同样包含有关如何直接使用 XGpiops 驱动程序的示例。此示例提供了用于读取/写入各个引脚的 API 的用法。
选择 xgpiops_polled_example 示例

在 Project Explorer 中,新增了 pio_mio_bsp_xgpiops_polled_example_1 目录,我们打开其 src 目录下的 xgpiops_polled_example.c 文件。
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

代码没看懂,先放放,删了,写其他的吧。
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

删除应用工程,连本地文件一起删除

之前写了一半,但是突然有感觉了,就只顾着写代码了,教程没有写完。第二天接着前面的进度写了,工程名不太一样,但过程都是一样的。

<strong>编写源码</strong>
src右键,新建文件
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

文件名main.c
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

写代码,我直接粘贴现成的代码了
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

编译工程,点击一下应用工程名
再点击Project->build project
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

等右下角进度条跑完,build finished
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

<strong>下载程序</strong>
如果使用到了PL资源,需要加载比特流,反之不用。
因为本次实验使用了 PL 内的资源,因此我们在下载软件编译生成的 elf 文件之前,需要先下载硬件设计过程中生成的 bitstream 文件,对 PL 部分进行配置。
点击“ Xilinx-> Program FPGA
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

点击右下角的“Program”

一段进度条过去了

配置 PL 完成后, 接下来我们要下载软件程序。在应用工程 上右击,选择“Run As->launch hardware

一段进度条过去了

程序就已经运行了,可以从串口的打印结果上看到。
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

没了

插入一下,串口界面可以在windows->show view
搜索terminal
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

单机右上角+连接相应串口
<center><img src="http://xilinx.eetrend.com/files/2020-11/%E5%8D%9A%E5%AE%A2/100058826-11…; alt=""></center>

<strong>参考文献</strong>
<ol>
<li>正点原子ZYNQ嵌入式开发</li>
<li><a href="https://blog.csdn.net/longfei_3/article/details/103757018?utm_medium=di… vitis学习教程:ZYNQ之Hello world(1)</a></li>
</ol>