我正在尝试调试并运行STM32L476的简单汇编代码。我已经设置了Eclipse Oxygen,在Eclipse中安装了最新版本的System Workbench插件并安装了ST-Link驱动程序。 IDE成功构建程序而不会产生任何错误,但是当我连接STM Discovery Board并尝试调试时,程序会抛出以下错误:
最终启动顺序错误 - 未为设备“通用TCP / IP”定义复位命令。
,
我在使用完全相同的软件的Ubuntu 17.10和Windows 10上都收到此错误。在阅读了与此类似问题的其他一些帖子后,我被告知要检查我是否在Eclipse中设置了OpenOCD和arm-none-eabi-gdb,并且它们已经正确设置,如下图所示。
任何帮助解决这个问题将不胜感激。谢谢
更新到最新版本的Eclipse时,我遇到了同样的问题。在做了一些研究之后,我在Eclipse的bug跟踪器页面上找到了一个错误报告:
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微控制器。
您可以在帮助>关于然后安装详细信息中找到此模块的当前版本,然后在OpenSTM32远程调试支持下找到。要恢复到之前的版本,您有两个选择。如果更新了Eclipse,则在“安装详细信息”窗口中有一个“安装历史记录”选项卡,您可以在其中还原到以前的版本。否则,您应该删除该模块并在eclipse安装库中搜索以前的版本。
参考Adam V.提到的错误报告,你可以在调试器配置中取消选中Reset&Delay和Halt选项,它应该可以正常工作。
在一个不好的地方遇到断点时遇到了这个问题。我摆脱了断点,它为我解决了“最终发射错误”。然后我能够设置我的断点。