MICROBLAZE的调试方法.docx

上传人:b****6 文档编号:5363169 上传时间:2022-12-15 格式:DOCX 页数:10 大小:360.67KB
下载 相关 举报
MICROBLAZE的调试方法.docx_第1页
第1页 / 共10页
MICROBLAZE的调试方法.docx_第2页
第2页 / 共10页
MICROBLAZE的调试方法.docx_第3页
第3页 / 共10页
MICROBLAZE的调试方法.docx_第4页
第4页 / 共10页
MICROBLAZE的调试方法.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

MICROBLAZE的调试方法.docx

《MICROBLAZE的调试方法.docx》由会员分享,可在线阅读,更多相关《MICROBLAZE的调试方法.docx(10页珍藏版)》请在冰豆网上搜索。

MICROBLAZE的调试方法.docx

MICROBLAZE的调试方法

MICROBLAZE的调试方法介绍

MICROBLAZE是XILINX提供的采用大端存储系统、指令和数据采用哈佛结构的32位软核,可在SPARTAN2,3和VIRTEX系统上运行,现对其调试方法做一个简单介绍,希望对有兴趣这方面开发的人有所帮助。

?

?

?

XILINX提供的调试环境主要有GDB和SDK。

即在XPS环境下可通过调用GDB完成,也可将程序导入SDK环境下进行调试。

这两种方法都是通过XMD作为底层工具与目标进行通讯。

本文以XPS环境下的GDB调试为例。

?

?

?

?

调试的方法主要由4种:

MDM,XMD-stub,ISS和VirtualPlatform。

其中后两为仿真调试,不需要目标硬件支持,对于没有目标板的而又想预先程序开发的用户是个不错的选择。

下面对这4种方法逐一做一简要介绍。

1.MDM(MicroprocessorDebugModule)

?

?

?

?

这种方式是基于硬件的调试方法。

主机通过JTAG与FPGA中的MDMcore相连,而MDM又与Microblaze的调试端口连接起来,从而完成调试信息的通讯。

一个MDM模块可以与一个和多个MicroBlaze处理器核相连,如下图1。

?

图1MDM连接

?

?

?

首先要加入opb_mdm模块并完成与microblaze调试接口的连接,并设置好相应的参数,如图2所示。

如果是通过BSB创建的项目,选择UseOn-chipDebugLogic作为调试方式即可完成opb_mdm模块的加入。

?

?

?

?

图2MDM相关设置

相应的MHS文件为:

BEGINmicroblaze

PARAMETERINSTANCE=microblaze_0

PARAMETERHW_VER=4.00.a

PARAMETERC_DEBUG_ENABLED=1

PARAMETERC_NUMBER_OF_PC_BRK=2

PARAMETERC_NUMBER_OF_RD_ADDR_BRK=1

PARAMETERC_NUMBER_OF_WR_ADDR_BRK=1

BUS_INTERFACEDLMB=dlmb

BUS_INTERFACEILMB=ilmb

BUS_INTERFACEDOPB=mb_opb

BUS_INTERFACEIOPB=mb_opb

PORTCLK=sys_clk_s

PORTDBG_CAPTURE=DBG_CAPTURE_s

PORTDBG_CLK=DBG_CLK_s

PORTDBG_REG_EN=DBG_REG_EN_s

PORTDBG_TDI=DBG_TDI_s

PORTDBG_TDO=DBG_TDO_s

PORTDBG_UPDATE=DBG_UPDATE_s

END

BEGINopb_mdm

PARAMETERINSTANCE=debug_module

PARAMETERHW_VER=2.00.a

PARAMETERC_MB_DBG_PORTS=1

PARAMETERC_USE_UART=1

PARAMETERC_UART_WIDTH=8

PARAMETERC_HIGHADDR=0x4140ffff

BUS_INTERFACESOPB=mb_opb

PORTOPB_Clk=sys_clk_s

PORTDBG_CAPTURE_0=DBG_CAPTURE_s

PORTDBG_CLK_0=DBG_CLK_s

PORTDBG_REG_EN_0=DBG_REG_EN_s

PORTDBG_TDI_0=DBG_TDI_s

PORTDBG_TDO_0=DBG_TDO_s

PORTDBG_UPDATE_0=DBG_UPDATE_s

END

?

?

?

其中PARAMETERC_USE_UART=1是使能MDM中的UART功能,可通过它模拟UART从JTAG口传送数据。

?

?

?

在启动XMD与目标板连接之前,应用相应的设置如图3所示,选择HARDWARE,即选用MDM的调试方法。

?

图3

?

?

?

如一切正常的话,则XMD窗口显示的信息如图4所示。

?

?

图4MDM信息显示

此时便可启动GNB进行软件调试了。

2XMDSTUB

?

?

?

这是一种基于软件的调试方法。

XMDSTUB是一段从0x0开始的监控程序(ROMMONITOR),它可通过JTAG-UART(在OPB-MDM中使能的UART,当然也可单独加入一JTAG-UARTIP核)或UART口与XMD完成数据通讯,因此在MSS文件中必须有一个OPB-MDM或UARTLITE设计为XMDSTUBPERIPHERAL。

相应的MSS文件如下所示:

BEGINmicroblaze

PARAMETERINSTANCE=microblaze_0

PARAMETERHW_VER=3.00.a

PARAMETERC_DEBUG_ENABLED=0

BUS_INTERFACEDOPB=mb_opb

BUS_INTERFACEIOPB=mb_opb

BUS_INTERFACEDLMB=dlmb

BUS_INTERFACEILMB=ilmb

PORTCLK=sys_clk_s

END

BEGINopb_mdm

PARAMETERINSTANCE=debug_module

PARAMETERHW_VER=2.00.a

PARAMETERC_MB_DBG_PORTS=0

PARAMETERC_USE_UART=1

PARAMETERC_UART_WIDTH=8

PARAMETERC_HIGHADDR=0x800020ff

BUS_INTERFACESOPB=mb_opb

PORTOPB_Clk=sys_clk_s

END

.....

当然这也可通过GUI进行设置,PROJECT-SOFTWAREPLATFORMESETTING,如图5所示:

?

图5

?

?

?

在Applications中完成如图6所示的设置,保证在编译时将XMDSTUB程序从0x0处开始放置。

?

?

?

另在XMD设置中,即图3中,应选择stub选项。

在advancedoptions中,默认的是JTAG方式的连接,即采用JTAG-UART方式,用JTAG口模拟UART功能。

如要选用UART方式,可勾上advancedoptions,选择serial,并设置好相应的串口参数,与IPCORE中选中的UARTLITE参数保持一致,保证正确连接,如图7所示。

?

?

?

另外,有一个有意思的事,不知是不是我机子的问题,就是当我将advancedoptions中选为SERIAL之后,就没法再改回JTAG了,SAVE时总是报错。

一个解决的办法就是先将CONNECTIONTYPE改为其它类型SAVE,然后再改回STUB,此时就不要再选advancedoptions了,因为默认的是JTAG方式。

?

图6

?

?

图7

?

?

?

上述设置完成后,便可DOWNLOAD程序,将XMDSTUB程序下载时FPGA中,然后打开XMD进行连接和启动GDB的SEVER,最后用GDB完成应用程序的下载和调试。

3ISS(InstructionSetSimulator)

?

?

?

这是一种基于指令集仿真的调试方法,只能支持处理器和内存模型,对其它的周边硬件不支持。

在图3中选用SIMULATOR,没有使用过这种方法,所以不多说。

4VirtualPlatformsystems

?

?

?

虚拟平台是硬件系统指令周期级的仿真模型。

通过它可以在没有硬件的基础上,进行应用程序的调试和优化。

如果没有硬件平台,这是一种很好的选择。

?

?

?

在XPS中,选择Tools>GenerateVirtualPlatform创建虚拟平台。

然后在图3的XMD中便可选择virtualplatform选项。

打开XMD,输入vpconnect命令,或前三个字母vpc,完成XMD与虚拟平台的连接,如图8所示。

最后便可运行GDB程序进行相应的调试工作了。

?

图8

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1