11.1 EDK  – 带有GDB的EDK是否支持MicroBlaze的内联(软件)断点?-Altera-Intel社区-FPGA CPLD-ChipDebug

11.1 EDK – 带有GDB的EDK是否支持MicroBlaze的内联(软件)断点?

问题描述

如何在代码中插入断点而不在GDB for MicroBlaze中插入断点?

解决/修复方法

不支持内联软件断点。但是,您可以通过执行以下步骤来解决此问题,以实现类似的功能:

1.编写一个名为int3()的简单函数,如下所示:

void int3(){

static int dummy; //阻止gcc优化代码

虚设++;

}

2.在主软件程序中,在调试器(XMD / GDB)需要停止的任何地方调用int3():

int main(){

INT3(); //软件断点

}

3.从XMD,使用“bps int3”命令在int3()函数中设置单个断点,或使用“break int3”命令从GDB执行此操作:

一个。在GDB中,选择“文件” – >“目标设置”。

湾选择“在int3处设置断点”。

C。选择确定。

每当程序调用int3()时,它将停止调试器。

有关硬件和软件断点之间差异的更多信息,请参阅(Xilinx答复21330)

请登录后发表评论

    没有回复内容