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

Eclipse: Error: init mode failed (unable to connect to the target)

本文关键字:连接 目标 错误 初始化 模式 失败 Eclipse      更新时间:2023-10-16

我使用的是基于Eclipse的STM32Cube IDE。我的代码中没有什么花哨的东西只是初始化一个板载 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上)时,我得到:

Found 1 stlink programmers
serial: 390069063058303044662143
openocd: "x39x00x69x06x30x58x30x30x44x66x21x43"
flash: 0 (pagesize: 0)
sram: 0
chipid: 0x0000
descr: unknown device

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

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

无法再次将代码上传到微控制器。当我尝试新板时,它仅适用于该上传 - 在该板被杀死并且不再工作:(即使在重新启动后,首次上传程序也能正常工作(LED 仍在闪烁),但不向 ST-LINK v2 报告。

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

在 Stackexchange 上找到解决方案。

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

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

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

可能是恶意断点导致 GDB 行为异常。重新开始的可能解决方法:

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