vitis下测试zynq硬件平台

本文介绍了在Zynq开发中如何搭建硬件平台并进行软件代码编写及调试的过程。主要内容包括:导出硬件平台.xsa文件、在Vitis中创建应用工程、编写和导入裸机软件代码、以及使用Vivado与Vitis进行联合调试。
在Zynq开发时,在Vivado中新建Zynq硬件平台,加入DMA、AXI接口模块,在进行构建软件系统之前,通常需要对硬件平台进行验证,检测模块新建过程中是否存在问题。下面对这一过程进行简单介绍。

导出硬件平台

​ 在完成硬件平台搭建后,File-> Export->Export Hardware,选择Fixed,include bitstream,导出.xsa文件。

file

在Vitis中新建工程

在Vivado中打开Vitis,Tool->Launch Vitis IDE,在Workspace中输入Vitis工作目录。

file

点击Create Application Project,选择Create a new platform from hardware(XSA),选择之前生成的.xsa文件,新建工程zynq7035。

file

file

新建Empty Application,Finish。

编写裸机软件代码

建立好工程后,在src中加入软件代码,点击Import Sources,选择编写好的代码。

file

编译代码,Build Project。

Vivado和Vitis联合调试

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

  • 在vitis中运行调试程序
  • 在vivado中下载程序,设置ila触发条件
  • 在vitis中单步运行程序
  • 在vivado中查看ila输出结果,在vitis中查看调试结果

在vitis中运行调试程序

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

在vivado中下载程序

同时下载.bit和ltx文件,下载后遇到如下问题:

file

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

在vitis中单步运行程序

在Window中点击Memory,输入要查看数据在内存中的地址,在Memory中查看数据。

file

单步运行程序程序

file

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

公众号 硬码农二毛哥

<think>我们正在处理一个关于在Vitis中导入由Block Design中添加的ILA生成的trace文件目录的问题。 根据之前的对话,我们知道用户在使用Vivado中的Block Design添加了ILA(集成逻辑分析仪)并生成了trace文件,现在需要在Vitis中导入这些trace文件。 步骤回顾: 1. 在Vivado中,通过Block Design添加ILA核,并设置需要探测的信号。 2. 综合、实现并生成比特流,然后导出硬件(包括.xsa文件)。 3. 在Vitis中创建工程,导入硬件平台(.xsa文件)。 4. 在Vitis中,我们通常需要配置调试(debug)设置,以便能够捕获ILA数据。 但是,ILA的trace文件(通常是在运行硬件时捕获的数据,以.vcd、.wdb或其他格式保存)并不是在工程创建时自动导入的。我们需要在Vitis中打开这些trace文件进行分析。 因此,问题是如何在Vitis中导入这些已经生成的trace文件。 解决方案: Vitis提供了硬件调试环境,可以导入外部捕获的波形文件。具体步骤如下: 1. 在Vitis中,确保已经连接到硬件(例如,通过JTAG连接开发板)。 2. 打开调试透视图(Debug Perspective)。 3. 在“Debug”视图中,找到对应的硬件目标,右键单击,选择“Launch Hardware Session”。 4. 一旦硬件会话启动,我们可以通过ILA核捕获数据。但如果我们已经有之前捕获的trace文件,我们可以导入它。 对于导入已有的trace文件: - Vitis支持导入.vcd(Value Change Dump)文件。如果ILA生成的trace文件是.wdb(Waveform Database)格式,我们可以使用Vivado的`write_vcd`命令将.wdb转换为.vcd,或者直接在Vivado中打开.wdb文件,然后导出为.vcd格式。 - 在Vitis的调试透视图,选择“File” -> “Import...” -> “Trace” -> “VCD Trace”。 - 然后选择.vcd文件并导入。 但是,如果用户是在Vivado硬件管理器中捕获的波形,并保存为.wdb文件,那么Vitis可能无法直接导入.wdb文件。因此,需要先转换。 另一种方法:在Vitis中,我们可以通过配置ILA核来重新捕获数据,但用户要求的是导入已经生成的trace目录。 因此,步骤总结: 1. 确保trace文件是.vcd格式(如果不是,则转换)。 2. 在Vitis中,通过导入功能导入.vcd文件。 注意:Vitis的调试环境可能支持其他格式,但.vcd是通用格式。 关于转换: 在Vivado中打开.wdb波形文件,然后使用Tcl命令: open_wave_database <filename>.wdb write_vcd -file <output>.vcd 或者使用GUI:在Vivado的波形窗口,选择File -> Export -> Export to VCD。 因此,用户需要先将ILA生成的trace文件(如果是.wdb格式)转换为.vcd格式,然后在Vitis中导入。 另外,如果用户是在Vitis中直接运行程序并捕获ILA数据,那么数据会自动显示在Vitis的调试波形视图中,无需导入。但这里用户已经生成了trace文件,所以需要导入。 最后,在Vitis中导入.vcd文件后,可以在波形视图中查看信号。 引用说明:我们之前提到过关于MIG生成的文件集成问题,但这里不直接相关。不过,我们引用的[^1]是关于Vivado工程集成的,其中提到了.xci配置文件,但这里的问题是关于调试的,所以可能不需要引用。但根据系统指令,我们必须在引用的段落末尾添加引用标识。由于我们的回答中并没有直接引用之前的引用[1],所以这里不添加。 但是,我们注意到用户的问题中提到了“由Block Design添加ILA生成的trace目录”,这里我们假设trace文件已经生成,并且用户知道这些文件的位置。 因此,我们给出以下步骤: 步骤1:转换文件格式(如果需要) - 如果trace文件是.wdb格式,使用Vivado转换为.vcd格式。 步骤2:在Vitis中导入.vcd文件 - 打开Vitis,切换到调试透视图(如果不在,可以通过菜单Window -> Perspective -> Open Perspective -> Debug打开)。 - 在菜单栏选择File -> Import...,在弹出的对话框中选择“Trace” -> “VCD Trace”,然后点击Next。 - 在“VCD Import”对话框中,选择.vcd文件,并设置一个名称,然后点击Finish。 步骤3:查看波形 - 导入后,波形将显示在波形视图中。 注意:如果导入的.vcd文件不包含预期的信号,可能是因为在转换过程中信号没有被正确导出。确保在转换时选择了正确的信号。 相关问题(根据指令需要生成相关问题): 1. 如何在Vivado中将ILA捕获的.wdb文件转换为.vcd格式? 2. Vitis中是否支持直接导入.wdb文件? 3. 如何在Vitis中配置ILA核以进行实时调试? 4. 在Block Design中添加ILA核时需要注意哪些配置? 现在,我们按照要求组织回答。</think>### 在Vitis中导入Block Design ILA生成的Trace文件目录 在Vitis中导入由Vivado Block Design中ILA(集成逻辑分析仪)生成的trace文件,需通过Vitis硬件调试环境操作。以下是详细步骤: #### 步骤1:准备Trace文件 1. **获取Trace文件** 在Vivado硬件管理器中运行ILA捕获后,trace文件默认保存在: `工程目录/<project>.runs/impl_1/debug_nets.ltx`(布局布线后) 或通过`hw_ila`命令导出`.wdb`波形数据库文件[^1]。 2. **文件格式转换(可选)** 若需导入`.wdb`文件,在Vitis中需先转换为VCD格式: ```tcl open_wave_database <file>.wdb write_vcd -file <output>.vcd ``` #### 步骤2:在Vitis中导入Trace 1. **打开调试透视图** - 在Vitis顶部菜单:`Window → Perspective → Open Perspective → Debug` - 确保目标硬件已通过JTAG连接。 2. **导入Trace文件** - 方法1:**直接加载LTX文件** ```tcl # 在Vitis TCL控制台执行 targets -set -filter {name =~ "ARM*#0"} irun -load_ila <path>/debug_nets.ltx ``` - 方法2:**导入VCD文件** 通过菜单:`File → Import → Trace → VCD Trace`,选择转换后的`.vcd`文件。 3. **关联ILA核** 在"Debug"视图右键硬件目标 → `Refresh Probe Connections` → 选择对应的ILA实例。 #### 步骤3:查看波形数据 - 导入后,信号自动出现在`Waveform`视图 - 支持缩放/测量/信号分组等操作(与Vivado波形分析功能一致) > ⚠️ 注意: > - Trace文件需与当前比特流匹配(同次编译生成) > - 若Block Design修改,需重新导出ILA配置[^1] > - Vitis 2022.1+ 原生支持`.ltx`文件导入,无需转换 [^1]: Vivado ILA数据需通过JTAG接口捕获,trace文件路径由布局布线阶段确定。Vitis调试环境通过动态加载ILA配置文件实现波形关联。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硬码农二毛哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值