ST意法半导体
直播中

维生素B2

13年用户 1093经验值
私信 关注
[问答]

使用SEGGER JLink运行代码出错如何解决呢

大家好你们好!我正在使用 Windows10、STM32CubeIDE v1.5.1 和 SEGGER JLink 调试器,硬件是 STM32F103C8T6,固件是默认使用 HAL 的 Blink(但它出现在所有项目中)
我有两个问题:
1)运行代码执行:
当我尝试运行代码时,MCU 已成功闪烁,但最后我看到一条关于停止 MCU 的消息,我需要按下 PCB 上的重置按钮才能运行代码。
出现问题时,

您遇到的问题可能源于 CDT 中的问题。您使用的是 Windows 机器吗?
在 Windows 上,当 CDT 终止调试会话时,它使用称为 starter.exe 的实用程序。该实用程序无法以良好的方式关闭进程,导致 SEGGER 和实际上任何其他 GDB 服务器可能以不太优雅的方式退出。我们相信这就是您正在经历的。
实际上,您可以通过以持久模式远程启动 GDB 服务器来解决这个问题。然后 CubeIDE 只会启动 GDB 客户端。因此,不允许 starter.exe 管理 GDB 服务器线程。
如果您想尝试这种解决方法,请像这样修改您的调试配置:
  • 切换到远程连接而不是自动启动,并设置端口...
  • 您现在必须通过命令行启动 SEGGER GDB 服务器。如果需要,您当然也可以使用CubeIDE 中的外部工具配置自动启动...
    • 如果您打开调试配置 > Debugger > Show command Line。您现在将看到我们在启动 SEGGER GDB 服务器时使用的参数。将其复制粘贴到您对 SEGGER GDV-server 的调用或您的外部工具配置中。
让我们知道单击“终止”按钮时是否会带来更可靠的体验...

更多回帖

发帖
×
20
完善资料,
赚取积分