最终启动序列中的错误 - Eclipse 系统 Workbench STM32L476 调试

Error in Final Launch Sequence - Eclipse System Workbench Debugging for STM32L476

我正在尝试调试 运行 STM32L476 的简单汇编代码。我已经设置了 Eclipse Oxygen,在 Eclipse 中安装了最新版本的 System Workbench 插件并安装了 ST-Link 驱动程序。 IDE 成功构建了程序,没有抛出任何错误,但是当我连接我的 STM 探索板并尝试调试时,程序抛出以下错误:

Error in Final Launch Sequence - Reset Command not defined for device 'Generic TCP/IP'.

,

我在使用完全相同的软件的 Ubuntu 17.10 和 Windows 10 上都遇到了这个错误。在阅读了一些关于类似问题的其他帖子后,有人告诉我检查我是否在 Eclipse 中设置了 OpenOCD 和 arm-none-eabi-gdb,并且它们已正确设置,如图所示下面。

如果您能帮助解决此问题,我们将不胜感激。 谢谢

我在更新到最新版本的 Eclipse 时遇到了同样的问题。在做了一些研究之后,我在 Eclipse 的错误跟踪器页面上发现了一个错误报告:

Bug 529171 - Recent Pushed update causing - Reset Command not defined for device 'Generic TCP/IP'

这表明导致问题的模块是 C/C++ GDB 硬件调试 版本 9.4.0.201712051550。我验证了它并且发生错误时我有相同的版本。当前的解决方案是恢复到以前的版本。通过恢复到版本 9.3.2.201709131603,问题得到解决,我可以使用 GDB 调试 STM 微控制器。

您可以在 Help > About 中找到该模块的当前版本,然后在 Installation Details 中找到 OpenSTM32 Remote调试支持。要恢复到以前的状态,您有两种选择。如果您更新了 Eclipse,那么在 安装详细信息 window 中有一个 安装历史记录 选项卡,您可以在其中恢复到以前的版本。否则,您应该删除该模块并在 eclipse 安装存储库中搜索以前的版本。

参考 Adam V. 提到的错误报告,您可以在调试器配置中取消选中 Reset & Delay 和 Halt 选项,它应该可以正常工作。

我在错误的地方设置断点时遇到了这个问题。我摆脱了断点,它为我解决了 "Error in Final Launch"。然后我就可以设置断点了。

以下安装程序解决了我的 Eclipse 03-19 问题

  • 我取消选中 "Load image" 和 "Load symbols" 复选框。
  • 我删除了所有断点并在建立连接后重新创建它们。

现在一切正常。我已经看到,gdb 是从 sudo 开始的(我正在使用 Linux),所以也许 运行 作为管理员也是一个很好的解决方案。