Gdb 从clion闪烁和运行失败,OpenOCD:错误在初始化之前必须使用tcl端口命令

Gdb 从clion闪烁和运行失败,OpenOCD:错误在初始化之前必须使用tcl端口命令,gdb,embedded,stm32,clion,Gdb,Embedded,Stm32,Clion,好吧,我有这个问题已经有一段时间了,因为我从来没有在网上找到解决方案。 我想我会在这里问一下,并希望其他人是否也遇到了这个问题(并幸运地解决了它) 因此,从左圆圈开始的按钮的预期行为是,代码被编译、刷新并在嵌入式硬件上运行。第二个圆圈与前一个圆圈相同,但将侦听断点并启动gdb服务器 按下第一个按钮时,它将失败,并显示以下错误消息: [0mOpen On-Chip Debugger 0.10.0 (2020-07-29) [https://github.com/sysprogs/openocd]

好吧,我有这个问题已经有一段时间了,因为我从来没有在网上找到解决方案。 我想我会在这里问一下,并希望其他人是否也遇到了这个问题(并幸运地解决了它)

因此,从左圆圈开始的按钮的预期行为是,代码被编译、刷新并在嵌入式硬件上运行。第二个圆圈与前一个圆圈相同,但将侦听断点并启动gdb服务器

按下第一个按钮时,它将失败,并显示以下错误消息:

[0mOpen On-Chip Debugger 0.10.0 (2020-07-29) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
WARNING: interface/stlink-v2.cfg is deprecated, please switch to interface/stlin
k.cfg
Info : auto-selecting first available session transport "hla_swd". To override u
se 'transport select <transport>[0m'.
Info : The selected transport took over low-level target control. The results mi
ght differ compared to plain JTAG/SWD
Info : clock speed 2000 kHz
Info : STLINK V2J37S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.218361
Info : STM32F439VIT6.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : starting gdb server for STM32F439VIT6.cpu on 3333
Info : Listening on port 3333 for gdb connections
semihosting is enabled

Error: The 'tcl_port' command must be used before 'init'.


[0mOpen-On-Chip调试器0.10.0(2020-07-29)[https://github.com/sysprogs/openocd]
根据GNU GPL v2获得许可
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
有关错误报告,请阅读
http://openocd.org/doc/doxygen/bugs.html
警告:interface/stlink-v2.cfg已弃用,请切换到interface/stlink
k、 cfg
信息:自动选择第一个可用的会话传输“hla_swd”。覆盖
se“运输选择[0m”。
信息:所选传输接管了低级目标控制。结果为:
ght与普通JTAG/SWD不同
信息:时钟速度2000千赫
信息:STLINK V2J37S7(API v2)视频:PID 0483:3748
信息:目标电压:3.218361
信息:STM32F439VIT6.cpu:硬件有6个断点,4个观察点
信息:正在启动3333上STM32F439VIT6.cpu的gdb服务器
信息:侦听端口3333上的gdb连接
半托管已启用
错误:“tcl_port”命令必须在“init”之前使用。
但当按下第二个按钮(debug)时,它将闪烁,运行代码并启动gdb服务器,所有这些都不会出现问题

使用的工具是:

  • OpenOCD(版本:OpenOCD-20200729-0.10)
  • Clion(版本:2021.1,但在以前的版本中问题仍然存在)作为我的IDE
  • mingw64通过msys安装
  • arm gdb调试器(版本8.3.1)

如果您知道问题可能是什么,请告诉我。我可以继续使用debug而不使用断点,但我就是无法运行,这让人非常恼火。

接下来的某个地方需要修复某个问题

# Enable semihosting at startup
# Dirty fix for https://youtrack.jetbrains.com/issue/CPP-7103
init
arm semihosting enable
注释init和arm半宿主启用行修复了该问题。 仍然很奇怪,它可以在调试配置中工作,但不能在运行配置中工作。如果有人知道确切原因,请在评论或帖子中留下答案。
快乐编码:)

我还使用ST-link调试器闪存软件。在Jetbrains问题跟踪程序上打开了一个问题。