像gdb这样的调试器如何通过JTAG设置断点?

时间:2012-04-01 13:38:40

标签: gdb embedded breakpoints jtag microblaze

我正在使用gdb进行调试。我想知道gdb如何在内部通过JTAG在嵌入式处理器上设置brekpoint。

3 个答案:

答案 0 :(得分:3)

它要么编写硬件断点寄存器,要么通过用一条会导致异常的指令替换断点处的指令来放置软件断点。

答案 1 :(得分:1)

每个处理器都不同,您必须查找特定处理器的jtag调试器详细信息。不仅仅是处理器系列而是特定处理器。数据表/用户指南(如果有)通常可从芯片供应商或核心供应商处获得,具体取决于产品。

答案 2 :(得分:0)

我曾多次将GDB与JTAG单元结合使用,GDB使用处理JTAG细节的gdbserver程序通过JTAG进行通信。例如,使用OpenOCD JTAG单元:http://openocd.sourceforge.net/doc/html/GDB-and-OpenOCD.html

这实质上意味着GDB对JTAG单元一无所知 - 它依赖于gdbserver接口,然后该服务器会在幕后做任何需要GDB请求的事情。