C++ Eclipse:错误:初始化模式失败(无法连接到目标)

C++ Eclipse:错误:初始化模式失败(无法连接到目标),c++,C++,我使用的是基于Eclipse的STM32CubeIDE。我的代码中没有什么特别之处,只是初始化了一个车载LED,并在无限循环中打开它。它第一次构建并调试成功(LED确实亮起),但第二次可以构建但无法调试 这是我的错误 >Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-06-12-13:13) >Licensed under GNU GPL v2 >For bug reports, read http://ope

我使用的是基于Eclipse的STM32CubeIDE。我的代码中没有什么特别之处,只是初始化了一个车载LED,并在无限循环中打开它。它第一次构建并调试成功(LED确实亮起),但第二次可以构建但无法调试

这是我的错误

>Open On-Chip Debugger 0.10.0+dev-00021-g524e8c8 (2019-06-12-13:13)
>Licensed under GNU GPL v2
>For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
none separate
>Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
>adapter speed: 8000 kHz
>adapter_nsrst_delay: 100
>Info : Listening on port 6666 for tcl connections
>Info : Listening on port 4444 for telnet connections
>Info : clock speed 8000 kHz
>Info : STLINK v2 JTAG v25 API v2 SWIM v0 VID 0x0483 PID 0x3748
>Info : using stlink api v2
>Info : Target voltage: 2.891943
>Error: init mode failed (unable to connect to the target)
>in procedure 'init' 
>in procedure 'ocd_bouncer'
当我尝试st info--probe(在linux上)时,我得到了:

但在上传之前,我得到了相关数据,例如:

  flash: 131072 (pagesize: 1024)
   sram: 20480
 chipid: 0x0410
  descr: F1 Medium-density device
不能再以任何方式将代码上传到微控制器中。当我尝试新的线路板时,它只对一次上传有效-在该线路板被关闭且不再有效后:(程序的首次上传即使在重新启动后仍有效(LED仍闪烁),但不会向ST-LINK v2报告


我尝试重置为默认设置,但也没有帮助。有人遇到过类似问题吗?

可能是恶意断点导致GDB行为不正常。可能的解决方法是:

  • 如果上次生成调试版本,请尝试生成发布版本并加载代码。然后删除/擦除所有断点并重新加载调试版本
  • 在不启动调试会话的情况下,从Eclipse主菜单中选择运行->删除所有断点
  • 如果您安装了ST Link实用程序的副本,请启动并擦除您的芯片
在上找到解决方案

当您忘记在STM32CubeIDE中配置调试端口并上载代码时,ST-Link将停止工作,因为它正在等待调试器连接,但尚未定义

您必须在IDE中分配系统调试端口(配置文件->系统->模式->串行线):

通过ST-Link实用程序删除整个闪存,您可以使STM32再次工作(我在linux中尝试过,但不工作,因为它不支持重置下的连接)。在ST-Link实用程序中,转到设置->模式->重置下的连接。然后将mcu与ST-Link连接并按住重置。然后单击“连接到目标”在ST link实用程序中,您可以将其删除

  flash: 131072 (pagesize: 1024)
   sram: 20480
 chipid: 0x0410
  descr: F1 Medium-density device