你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

Adam Taylor玩转MicroZed系列63:调试Zynq应用程序

发布者:jackzhang 时间:2015-01-13 18:00:27

作者:Adam Taylor

在上一篇的MicroZed系列博客中,我们学习了两种与XADC进行通信的方法:Zynq SoC 的AXI或者DevC接口。通过在每个驱动程序中输出XADC的基地址,我演示了这两种XADC通信方法。采用这种方法的代码可以从SD卡启动,所以我可以确定这个应用能够作为裸板程序操作。

我们可以采用另一种方法来验证这种访问方法和地址:目前在Xilinx SDK中有两种调试器,我们可以采用其中的任意一种:

  • Xilinx 系统调试器(XSDB)
  • 要使用这两种调试器,你都需要一个JTAG编程线缆。在这些博客中我一直都在使用Digilent HS2 JTAG Programming Cable,将其与MicroZed板卡的J3跳线连接,J3紧邻着USB/Ethernet集成连接器。这个线缆可以直接插入到MicroZed板卡的JTAG连接器,如下图所示:

    XMD与XSBD的配置和使用采用相似的方式。然而XMD主要是一个单核的微处理器调试器,而XSBD是为了调试整个可编程系统(包括处理器和可编程逻辑)而设计的。

    XMD使用比较常用的Gnu Project Debugger(GBD)框架,而XSBD使用Target Command框架。这两种框架对于软件工程师和开发人员来说应该是再熟悉不过了。

    要运行这些程序,首先要在SDK中完成调试配置。这也是非常简单的:

    上述操作会打开一个选项菜单,在这里我们可以配置所需的XMD或者XSDB调试方案。

    这些配置选项可以在Debug Configuration对话框的左侧看到,你可以看到Xilinx C/C++ Application、GDB(XMD)和Systems Debugger(XSDB),你可以点击“new”选项来创建任意一种调试配置。

    不同的调试配置你将看到不同的选项,对于XMD,你将会看到:

    对于XSDB设置,你将会看到:

    使用所需的调试选项,你就可以在目标硬件上运行和调试应用程序了。但是首先,你必须对器件进行编程,来确保已经按要求对它进行了配置。这将会打开SDK IDE,显示调试透视框图,在这里面我们可以检查寄存器的值和变量,以及设置断点。

    断点简化了调试,可以在源代码中轻松的设置和取消。在这个透视窗口中也可以非常简单的设置观察点。

    使用XSDB调试窗口,合理的设置断点,我们就可以确认代码通过AXI或者DevC接口正确的使用了XADC地址,正如所要求的那样,DevC和AXI地址可以在变量窗口中查看,如下图所示:

    在接下来的几篇博客中,我们将使用调试器和分析器来开发一个系统,来自XADC的数据流可以直接传输到MicroZed板卡的DDR SDRAM中,这样Zynq PS可以读取和处理这些数据,实现汇报输出和进一步的分析。

    原文链接:
    http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...

    © Copyright 2014 Xilinx Inc
    如需转载,请注明出处

  • Xilinx 微处理器调试器(XMD,查看Xilinx嵌入式系统工具参考指南第9章)
  • 选择你的应用
  • 在它上面右击
  • 选择“Debug As”选项,Debug Configurations在弹出对话框的最底部
  • 最新课程

    • 深入浅出玩儿转FPGA

      本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

    • 从零开始大战FPGA基础篇

      本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

    • Verilog基础及典型数字

      课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了