【问题标题】:GDB and OpenOCD - reset or resume after end of debuggingGDB 和 OpenOCD - 调试结束后重置或恢复
【发布时间】:2015-03-28 18:30:26
【问题描述】:
我正在使用 Eclipse + GDB 硬件调试 + OpenOCD + STM32F4DISCOVERY(通过 ST-LINK)
一切正常。
调试完成后,目标CPU仍处于Halt模式。
如何使debug(Terminate press)后目标CPU复位或继续工作?
【问题讨论】:
标签:
eclipse
gdb
stm32
stm32f4discovery
openocd
【解决方案1】:
我是这样做的:
- 编写通过 Telenet 连接到 OpenOCD 并执行运行或重置命令的 bash 脚本。
- 通过eclipse的external-tools-feature运行脚本
- 可以创建一个启动组,在调试后将脚本作为外部工具运行。
这是一个脚本示例:
#!/bin/bash
{
echo "reset halt";
echo "reset run";
} | telnet localhost 4444
【解决方案2】:
我将 openocd 配置为在 gdb 会话结束时恢复执行。
创建 openocd-gdb.cfg 包含:
$_TARGETNAME configure -event gdb-detach {
resume
}
加载文件,在目标文件之后,运行 openocd 时:
openocd -f target/stm32f4.cfg -f openocd-gdb.cfg