【发布时间】:2012-04-15 10:15:49
【问题描述】:
我正在使用 gdb 进行调试。我想知道 gdb 如何在内部工作以通过 JTAG 在嵌入式处理器上设置断点。
【问题讨论】:
标签: gdb embedded breakpoints jtag microblaze
我正在使用 gdb 进行调试。我想知道 gdb 如何在内部工作以通过 JTAG 在嵌入式处理器上设置断点。
【问题讨论】:
标签: gdb embedded breakpoints jtag microblaze
每个处理器都不同,您必须查找特定处理器的 jtag 调试器详细信息。不仅是处理器系列,而且是特定的处理器。数据表/用户指南(如果有)通常可从芯片供应商或内核供应商处获得,具体取决于产品。
【讨论】:
它要么对硬件断点寄存器进行编程,要么通过将断点处的指令替换为会导致异常的指令来放置软件断点。
【讨论】:
有几次我将 GDB 与 JTAG 单元结合使用,GDB 通过使用处理 JTAG 细节的gdbserver 程序通过 JTAG 进行通信。例如,使用 OpenOCD JTAG 单元:http://openocd.sourceforge.net/doc/html/GDB-and-OpenOCD.html
这实质上意味着 GDB 对 JTAG 单元一无所知 - 它依赖于 gdbserver 接口,然后该服务器在后台执行它需要执行的任何操作来执行 GDB 请求。
【讨论】: