第2节 使用XMD对EDK设计进行调试
推荐给好友
打印
加入收藏
更新于2008-05-22 17:35:37

4.2 使用XMD对EDK设计进行调试

设备配置完毕后,可以通过MDM界面直接调试软件程序。GDB通过MDM和Xilinx Microprocessor Debug (XMD) 与 MicroBlaze 核相连。XMD是标准GDB接口和一种用于调试程序和校验微处理器系统的TCL(工具命令语言)接口的一个简化程序。XMD被用于与MicroBlaze以及PowerPC的GDB(mb-gdb & powerpc-eabi-gdb) 结合起来调试。Mb-gdb 和 powerpc-eabi-gdb通过用远程TCP协议与XMD通讯并控制相应目标。GDB既能在同一台电脑也能通过远程网络的电脑与XMD相连。

按照下列步骤来调试设计:

4.2.1 使用XMD

(1) 在XPS中,选择 Debug → XMD Debug Options。XMD调试操作对话框允许用户指定连接方式,默认是JTAG链路。对MicroBlaze有三种连接方式:

  • Simulator –XMD能够与MicroBlaze ISS相连
  • Hardware –XMD能够与在硬件上的MDM外围相连
  • Stub –XMD能够通过XMDSTUB与 JTAG UART 或者 UART 相连

另外,虚拟平台– 允许虚拟模型(C模型)被使用(不在这次指导之内)。

(2) 确认Hardware被选择。

选择Save。

选择Debug → Launch XMD。



图 4.2.1 XMD控制台

4.2.2 XPS UART Lite Register描述

(3) 在XMD%后打入命令:mwr , 0x84020004(base_addr+0x4) 0x61,可以将0x61对应ASCII码值a写入UART中。(如果初始地址为0x84020000,则为0x84020004)



图 4.2.2 XMD命令



图 4.2.3 HyperTerminal显示‘a’字符

图 4.2.4、图 4.2.5:XMD UART Lite Register 输出命令

(4) 在XMD%后打入命令:mrd 0x84020000,来查看当前RS232的输出值,可以看到为0x0。



图 4.2.4 XMD UART Lite Register读入命令(一)

(5) 在Hyperterminal上输入a,再打入命令:mrd 0x84020000,来查看当前RS232的输出值,可以看到为0x61。



图 4.2.5 XMD UART Lite Register读入命令(二)

对照下表4.1,选择希望操作的地址进行操作。

该表显示了所有的XPS UART Lite registers和地址:

表4.1

4.2.3 使用GDB

(6) 在XPS中,选择Debug → Launch Software Debugger来打开GDB界面(在XMD已经启动的情况下)。

GDB中,选择File → Target Settings 来显示目标选择对话框,见图 4.2.6

点击OK。



图 4.2.6 GDB Target Selection

(7) 在GDB中,选择File → Open…

在TestApp_Memory目录下选择executable.elf。C代码是可见的,因为用于调试(-g option) 的Create symbols在compiler options中被选成default。

(8) 在GDB中,选择File → Exit。

在XPS的Applications窗口下,双击工程: TestApp_Memory。
Debug and Optimization标签下设置Optimization级别为No Optimization。

点击OK。



图 4.2.7 Compiler Options

(9) 重新编译代码

把新的executable.elf下载到GDB中。
选择Run → Run
在主程序中会有个自动的断点。GDB允许你单次执行C或者类似的代码。

注意:在寄存器窗口默认值是以16进制显示的,而在源窗口下是以10进制显示的。

 

<<上一节    下一节>>




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.