10

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

4

3 回答 3

5

它要么对硬件断点寄存器进行编程,要么通过将断点处的指令替换为会导致异常的指令来放置软件断点。

于 2012-04-02T09:47:02.377 回答
1

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

于 2012-04-02T02:36:01.393 回答
0

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

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

于 2012-04-02T14:58:14.997 回答