[X]关闭
0

S02-CH02 在线逻辑分析仪及软硬件调试技巧

摘要: 软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! 2.1 概述 ZYNQ SOC的优势在于将软件和硬件结合开 ...

软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用米联客 ZYNQ系列开发板

米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!

2.1 概述

      ZYNQ SOC的优势在于将软件和硬件结合开发。使用ZYNQ需要掌握软件和硬件开发的调试技巧,这样才能同时分析软件及硬件的运行情况,便于分析解决问题。

      本课通过一个简单的实验讲解使用VIVADO和SDK进行联合调试。在这个实验中,添加了一个用户自定义的IP CORE ,使用VIO CORE观察其数据,并通过ILA CORE观察 AXI总线的通信时序,以及GPIO 的输出。

      本课实验工程是在上一课工程的基础上搭建,添加了一个名为MATH_IP的 Custom IP、VIO CORE、ILA CORE。

Mark Debug观察AXI4-Lite总线上的工作情况,VIO CORE观察MATH_IP的工作情况,ILA CORE观察LED的PIN脚输出情况。

2.2 搭建FPGA BD工程

Step3:单击“+”Add  IP,将math  IP添加到工程中。

Step4:以同样方法,单击“+”Add  IP,将math  IP添加到工程中

Step5:单击Click on Run Connection Automation。

Run Connection Automation会自动连线,但是自动连续不是万能的,自动连线在复杂的工程中,往往不能满足要求。本节课内容简单,自动连线更加快捷。随着读者的经验增加,使用连线设计效率会越来越高。

Step6:自动连线的选项里面只勾线连接GPIO_LITE_ML_0和math_ip_0,单击OK。

       这个mathi_ip实际上是一个简单的硬件加法器。虽然这个简单的加法器在这里没有实用意义,但是如果换成了硬件算法,那么就具备实用价值了。红色的方框内ain_vio和bin_vio是我们准备通过逻辑分析抓去的观察信号。

这个GPIO_LITE_ML_0是我们自定的一个IP,在后面的教程里面会讲这个IP如何创建的,暂缺我们先用起来。

       自动连线后,VIVADO软件自动添加了Processor System Reset的复位IP和AXI  Interconnect总线互联IP。这两个IP在后续的课程中会经常用到。

       右击GPIO_LED 选择Make External,把GPIO的 IO引出到FPGA顶层模块去

  修改下自动产生的IO名字改为GPIO_LED 更加简洁一些

  设计完成的BD工程文件如下图

2.3 添加调试用IP CORE ILA

针对上图的BD 设计文件,我们现在要掌握一些调试方法,方便后面在开发过程中用到问题进行调试和仿真。

Step1:单击“+”,添加 ila CORE 的IP。

Step2:双击打开ILA CORE

Step3:双击打开ILA CORE ,进行如下配置,设置结束点击OK。

General Options设置:

选择Native;

Number of Probes:1

Sample Data Depth:1024

Number of Comparators:1

Probe_Ports设置: Probe Width:4

Step4:对添加的ILA核做如下连接:

Probe0连接到GPIO_LED;

CLK连接到FCLK_CLK0;

2.4 添加调试用IP CORE VIO

Step1:添加vio IP。

Step2:双击 VIO core修改参数

General Options 设置:

Input Probe Count:  1

Output Probe Count:  3

Probe_in  pORTs设置:  PROBE_IN0位宽:9

Step3:VIO IP连接

VIO  IP与math IP连接:

       PROBE_IN -> result

       PROBE_OUT0 -> sel

       PROBE_OUT1 -> ain_vio

       PROBE_OUT2 -> bin_vio

VIO  IP与ZYNQ IP连接:

        CLK-> FCLK_CKL0

Step4:连接好的系统整体电路。

2.5 AXI4 添加 IP CORE ILA

Step1:右击需要观察的总线,这里选择math_ip的S_AXI接口

Step2:添加完成后,单击Run Conection Automation

可以看到软件自动增加了一个System  ILA IP CORE(VIVADO2017.1以上版本才有这个功能)

Step4:选中system Debugger,双击创建一个系统调试,点击Apply,点击Debug。

注意:这里进入debug后不要立即运行程序,否则无法观察AXI总线信号的触发

2.8 加载逻辑分析仪波形窗口

Step1:回到VIVADO界面,单击Open Hardware Manager àOpen Target->Auto Connect

Step2:加载完成后的界面,可以看到hw_ila_1就是调试GPIO波形的,hw_ila_2是调试AXI4总线的波形的,hw_vio_1是VIO IP用来测试math_ip

2.9 ILA GPIO信号调试

Step1:打开HW_ILA1 窗口,配置 ILA,其中触发位置选设置为512

Step2:配置触发信号,当条件满足将会触发ILA 波形

2.10 ILA观察AXI4总线波形

Step1:在Trigger Setup中,点击“+”,选择AXI_WVALID,双击添加。设置Radix为H,触发条件Value为1。

Step2:设置触发位置为512

Step3:单击运行按钮,启动触发。

Step4:进入等待触发状态

Step5:SDK软件中,打开串口调试软件。

2.11 VIO(虚拟机IO)的使用

Step1:同时可以观察到VIO核采集到的数据

Step2:在以下位置加入断点(在图中位置双击即可加入断点),方便调试。

Step4:将probe_out0设置为1,给probe_out1,probe_out2手动赋值,会发现math_ip_0_result的值发生变化。

2.12 SDK调试认识工具栏

2.12.1 Kill Break Point(使断点失效)

使用此工具后,所有设置的断点都不会被执行

2.12.2 Resume(开始/重新开始运行)

单步调试或者断点调试的时候使用

2.12.3 Supend(暂停)

调试状态下,当进入断点后会暂停,当正常运行,点击此按钮也会暂停

2.12.4 Terminate(结束)

结束本次运行

2.12.5 Disconnect(断开连接)

JTAG断开和FPGA的连接

2.12.6 Step in to(可以进入库函数调试)

正常情况下是无法进入库函数调试的,通过Step in to 可以进入库函数调试

2.12.7 Step Over(跳过当前函数)

跳过当前函数,或者代码,当前代码就不会被执行。

2.12.8 Step Return(返回)

和Step in to功能相反,在Step in to到函数内部后,从函数内部返回。

2.12.9 Program FPGA(下载FPGA bit)

2.12.10 Program Flash(固化FLASH)

2.12.11 Debug(调试)

2.12.12 RUN(直接运行)

2.13 SDK常用菜单

2.13.1 Project(与编译相关)

用于编译,如果设置了Build Automatically 修改代码后只要保存就会重新编译

2.13.2 Run(与调试有关命令)

2.13.3 Xilinx(与程序下载相关)

2.13.4 Window(与软件相关的窗口)

Show View 在非Debug代码的情况下是与编写代码有关的窗口

Show View 在Debug代码的情况下,是和Debug信息相关的窗口

2.14 SDK调试技巧之断点设置

在代码左边双击,可以设置断点

2.15 SDK调试技巧之观察变量

当程序停止后,把光标放到变量上就可以看到变量的值,另外Variables也可以看到变量值

另外全局变量和局部变量的显示还不一样如下图,正确的数值在红色框选内,而Value显示的是T

2.16 SDK调试技巧之查看函数定义

如何函数是宏定义,可以把光标放到函数上,直接观看宏定义

右击函数后单击Open Declaration 可以查看到函数定义

2.17 SDK调试技巧之观察内存

打开内存观察窗口

设置需要观察内存的起始地址

由于ZYNQ 内存的起始地址有一段无法访问,因此设置起始地址大于10MB

单击OK后可以看到内存的数据

可以直接修改内存的数据,如果没有变红,证明数据修改正确

在后续的教程中,在DMA传输数据部分需要用到这个功能


路过

雷人

握手

鲜花

鸡蛋

最新评论

本文作者
2019-9-6 19:14
  • 7
    粉丝
  • 4086
    阅读
  • 0
    回复

关注米联客

扫描关注,了解最新资讯

联系人:汤经理
电话:0519-80699907
EMAIL:270682667@qq.com
地址:常州溧阳市天目云谷3号楼北楼201B
热门评论
排行榜