0

我是 OpenOCD 和 GDB 的新手,请多多包涵。我在与系统对话的 Screen1 的服务器中运行我的 OpenOCD。在屏幕 1 中,我正在等待连接到来:

Info: JTAG tap:some abcd: CPU enabled

在 Screen2 中,我开始gdb然后

(gdb) target remote localhost:2001

我进入 Screen1(openocd):

accepting gdb connection from 2001

这很好用,然后我收到一堆错误消息,例如:

Error: Target running halt it first.

我为什么要得到这个。我所做的只是连接。我要做的就是info reg在 gdb 提示符下键入并获取寄存器值。

问题1:您如何可靠地停止系统?命令是什么。如果我继续做

c
stop
CTRl-C

大多数时候 info reg 都是零,但偶尔我会得到有效值。什么可以保证停止处理器并读取寄存器。

4

1 回答 1

0

你应该-c 'reset halt'在你的 openocd 命令参数中。

或者,reset halt如果您通过 telnet 连接到您的 openocd,您可以从 gdb 或在您的 openocd 提示符处键入。

来自 GDB

(gdb) monitor reset halt

从远程登录

添加-c 'telnet_port 4444'到您的 openocd 命令,然后从另一个终端运行telnet localhost 4444.

$ telnet localhost 4444
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> reset halt
于 2021-05-14T08:15:58.877 回答