MICROBLAZE的调试方法_第1页
MICROBLAZE的调试方法_第2页
MICROBLAZE的调试方法_第3页
MICROBLAZE的调试方法_第4页
MICROBLAZE的调试方法_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MICROBLAZE的调试方法介绍MICROBLAZE是XILINX提供的采用大端存储系统、指令和数据采用哈佛结构的32位软核,可在SPARTAN2,3和VIRTEX系统上运行,现对其调试方法做一个简单介绍,希望对有兴趣这方面开发的人有所帮助。    XILINX提供的调试环境主要有GDB和SDK。即在XPS环境下可通过调用GDB完成,也可将程序导入SDK环境下进行调试。这两种方法都是通过XMD作为底层工具与目标进行通讯。本文以XPS环境下的GDB调试为例。    调试的方法主要由4种:MDM,XMD-stub,ISS和Vi

2、rtual Platform。其中后两为仿真调试,不需要目标硬件支持,对于没有目标板的而又想预先程序开发的用户是个不错的选择。下面对这4种方法逐一做一简要介绍。 1 MDM(Microprocessor Debug Module)    这种方式是基于硬件的调试方法。主机通过JTAG与FPGA中的MDM core相连,而MDM又与Microblaze的调试端口连接起来,从而完成调试信息的通讯。一个MDM模块可以与一个和多个MicroBlaze处理器核相连,如下图1。 图1 MDM连接    首先要加入opb_mdm

3、模块并完成与microblaze调试接口的连接,并设置好相应的参数,如图2所示。如果是通过BSB创建的项目,选择Use On-chip Debug Logic作为调试方式即可完成opb_mdm模块的加入。    图2 MDM相关设置相应的MHS文件为:BEGIN microblazePARAMETER INSTANCE = microblaze_0PARAMETER HW_VER = 4.00.aPARAMETER C_DEBUG_ENABLED = 1PARAMETER C_NUMBER_OF_PC_BRK = 2PARAMETER C_NUMBER_

4、OF_RD_ADDR_BRK = 1PARAMETER C_NUMBER_OF_WR_ADDR_BRK = 1BUS_INTERFACE DLMB = dlmbBUS_INTERFACE ILMB = ilmbBUS_INTERFACE DOPB = mb_opbBUS_INTERFACE IOPB = mb_opbPORT CLK = sys_clk_sPORT DBG_CAPTURE = DBG_CAPTURE_sPORT DBG_CLK = DBG_CLK_sPORT DBG_REG_EN = DBG_REG_EN_sPORT DBG_TDI = DBG_TDI_sPORT DBG_TD

5、O = DBG_TDO_sPORT DBG_UPDATE = DBG_UPDATE_sENDBEGIN opb_mdmPARAMETER INSTANCE = debug_modulePARAMETER HW_VER = 2.00.aPARAMETER C_MB_DBG_PORTS = 1PARAMETER C_USE_UART = 1PARAMETER C_UART_WIDTH = 8PARAMETER C_BASEADDR = 0x41400000PARAMETER C_HIGHADDR = 0x4140ffffBUS_INTERFACE SOPB = mb_opbPORT OPB_Clk

6、 = sys_clk_sPORT DBG_CAPTURE_0 = DBG_CAPTURE_sPORT DBG_CLK_0 = DBG_CLK_sPORT DBG_REG_EN_0 = DBG_REG_EN_sPORT DBG_TDI_0 = DBG_TDI_sPORT DBG_TDO_0 = DBG_TDO_sPORT DBG_UPDATE_0 = DBG_UPDATE_sEND    其中PARAMETER C_USE_UART = 1是使能MDM中的UART功能,可通过它模拟UART从JTAG口传送数据。    在启动XMD与目标

7、板连接之前,应用相应的设置如图3所示,选择HARDWARE,即选用MDM的调试方法。 图3    如一切正常的话,则XMD窗口显示的信息如图4所示。  图4 MDM信息显示此时便可启动GNB进行软件调试了。p 2 XMDSTUB     这是一种基于软件的调试方法。 XMDSTUB 是一段从 0x0 开始的监控程序( ROM MONITOR ),它可通过 JTAG UART (在 OPB MDM 中使能的 UART ,当然也可单独加入一 JTAG UART IP 核)或 UART 口与 XMD 完成数据通

8、讯,因此在 MSS 文件中必须有一个 OPB MDM 或 UARTLITE 设计为 XMDSTUB PERIPHERAL 。相应的 MSS 文件如下所示: BEGIN microblaze PARAMETER INSTANCE = microblaze_0 PARAMETER HW_VER = 3.00.a PARAMETER C_DEBUG_ENABLED = 0 BUS_INTERFACE DOPB = mb_opb BUS_INTERFACE IOPB = mb_opb BUS_INTERFACE DLMB = dlmb BUS_INTERFACE ILMB = ilmb PORT CL

9、K = sys_clk_s END BEGIN opb_mdm PARAMETER INSTANCE = debug_module PARAMETER HW_VER = 2.00.a PARAMETER C_MB_DBG_PORTS = 0 PARAMETER C_USE_UART = 1 PARAMETER C_UART_WIDTH = 8 PARAMETER C_BASEADDR = 0x80002000 PARAMETER C_HIGHADDR = 0x800020ff BUS_INTERFACE SOPB = mb_opb PORT OPB_Clk = sys_clk_s END .

10、当然这也可通过 GUI 进行设置, PROJECT SOFTWARE PLATFORME SETTING ,如图 5 所示:   图 5     在 Applications 中完成如图 6 所示的设置,保证在编译时将 XMDSTUB 程序从 0x0 处开始放置。     另在 XMD 设置中,即图 3 中,应选择 stub 选项。在 advanced options 中,默认的是 JTAG 方式的连接,即采用 JTAG UART 方式,用 JTAG 口模拟 UART 功能。如要选用 UART 方式,可勾上 advanced

11、 options, 选择 serial, 并设置好相应的串口参数,与 IP CORE 中选中的 UARTLITE 参数保持一致,保证正确连接,如图 7 所示。     另外,有一个有意思的事,不知是不是我机子的问题,就是当我将 advanced options 中选为 SERIAL 之后,就没法再改回 JTAG 了, SAVE 时总是报错。一个解决的办法就是先将 CONNECTION TYPE 改为其它类型 SAVE ,然后再改回 STUB ,此时就不要再选 advanced options 了,因为默认的是 JTAG 方式。   图 6  

12、  图 7     上述设置完成后,便可 DOWNLOAD 程序,将 XMDSTUB 程序下载时 FPGA 中,然后打开 XMD 进行连接和启动 GDB 的 SEVER ,最后用 GDB 完成应用程序的下载和调试。3 ISS(Instruction Set Simulator)    这是一种基于指令集仿真的调试方法,只能支持处理器和内存模型,对其它的周边硬件不支持。在图3中选用SIMULATOR,没有使用过这种方法,所以不多说。4 Virtual Platform systems    虚拟平台是硬件系统指令周期级的仿真模型。通过它可以在没有硬件的基础上,进行应用程序的调试和优化。如果没有硬件平台,这是一种很好的选择。    在XPS中,选择Tools > Generate

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论