跳转到主要内容

Vitis下测试Zynq硬件平台

judy 提交于

本文转载自:<span id="profileBt"><a href="https://mp.weixin.qq.com/s/b5uTDyQnAYOuYjNkvOZnZg"&gt; 硬码农二毛哥微信公众号</a></span>

在Zynq开发时,在Vivado中新建Zynq硬件平台,加入DMA、AXI接口模块,在进行构建软件系统之前,通常需要对硬件平台进行验证,检测模块新建过程中是否存在问题。下面对这一过程进行简单介绍。

<strong>导出硬件平台</strong>
在完成硬件平台搭建后,File-> Export->Export Hardware,选择Fixed,include bitstream,导出.xsa文件。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

<strong>在Vitis中新建工程</strong>
在Vivado中打开Vitis,Tool->Launch Vitis IDE,在Workspace中输入Vitis工作目录。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

点击Create Application Project,选择Create a new platform from hardware(XSA),选择之前生成的.xsa文件,新建工程zynq7035。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

新建Empty Application,Finish。

<strong>编写裸机软件代码</strong>
建立好工程后,在src中加入软件代码,点击Import Sources,选择编写好的代码。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

编译代码,Build Project。

<strong>Vivado和Vitis联合调试</strong>
使用Vivado和Vitis联合调试分为以下步骤:

<li>在vitis中运行调试程序</li>

<li>在vivado中下载程序,设置ila触发条件</li>

<li>在vitis中单步运行程序</li>

<li>在vivado中查看ila输出结果,在vitis中查看调试结果</li>

在vitis中运行调试程序

右击工程文件,Debug as->1,进入调试界面

<strong>在vivado中下载程序</strong>

同时下载.bit和ltx文件,下载后遇到如下问题:
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

在Vitis中运行一下软件代码,然后refresh device可以解决。原因也很好理解,ila时钟使用PS输出,PS先运行后才能输出时钟。

<strong>在vitis中单步运行程序</strong>

在Window中点击Memory,输入要查看数据在内存中的地址,在Memory中查看数据。
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

单步运行程序程序
<center><img src="http://xilinx.eetrend.com/files/2021-11/%E5%8D%9A%E5%AE%A2/100555564-22…; alt=""></center>

重复上述过程,完成代码调试。