当 STM32 的调试程序NUCLEOF103RB时出现“无法统计调试”错误

Came up with an "Unable to stat debugging" error when Debug program for STM32 NUCLEOF103RB

提问人:ALL Nick 提问时间:10/18/2023 更新时间:10/25/2023 访问量:49

问:

我正在尝试在 VSCode 上使用 STM32 VSC 扩展插件以获得更好的编码体验,但在我尝试调试时出现错误。

VSCode 建议在终端中成功完成构建任务。

调试器似乎无法连接调试服务器。[我不确定调试服务器是什么以及它们是如何工作的。我唯一知道的是启动文件设置了 2 个工具,分别命名为:

ST-LINK_gdbserver.exe 和 arm-none-eabi-gdb.exe。我猜它们相互连接并通过TCP(?)传输调试信息

我已经尝试在我的计算机上连接并重新连接我的 NUCLEO 板。调试器运行时,NUCLEO 上的 stlink 手电筒正常闪烁(红-绿-红-绿)。但不知何故,该程序无法上传。此外,我还允许调试器访问我的网络,因此该问题不应该是由计算机上的防御者(我仅使用 Windows Defender)的阻止引起的。

但是,调试器在我预测的所有事情发生之前就崩溃了,这里有一些相关信息。

调试控制台输出:

1: (72) LaunchOptions{"name":"Launch","type":"cppdbg","request":"launch","cwd":"D:\\Programs\\ENV\\STM32_plugged\\CUBER\\WIN_TS_IV\\TRY_V","program":"D:\\Programs\\ENV\\STM32_plugged\\CUBER\\WIN_TS_IV\\TRY_V\\build\\debug\\build\\TRY_V.elf","MIMode":"gdb","miDebuggerPath":"C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/arm-none-eabi-gdb.exe","miDebuggerServerAddress":"localhost:3333","debugServerPath":"C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.1.0.202305091550/tools/bin/ST-LINK_gdbserver.exe","debugServerArgs":"--stm32cubeprogrammer-path C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.1.0.202305091550/tools/bin --swd --port-number 3333","serverStarted":"Waiting for connection on port .*//.//.//.","stopAtConnect":true,"postRemoteConnectCommands":[{"text":"load build/debug/build/TRY_V.elf"}],"logging":{"engineLogging":true},"preLaunchTask":"Build","__configurationTarget":6,"configSource":"workspaceFolder","debugType":"debug","__sessionId":"48b983e1-61a7-44a6-891d-b74ba9ff307b"}

这是我的“launch.json”文件:


{
  "version": "0.2.0",
  "configurations": [
   
    {
      "name": "Launch",
      "type": "cppdbg",
      "request": "launch",
      "cwd": "${workspaceFolder}",
      "program": "${command:cmake.launchTargetPath}",
      "MIMode": "gdb",
      "miDebuggerPath": "C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/arm-none-eabi-gdb.exe",
      "miDebuggerServerAddress": "localhost:3333",
      "debugServerPath": "C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.1.0.202305091550/tools/bin/ST-LINK_gdbserver.exe",
      "debugServerArgs": "--stm32cubeprogrammer-path C:/ST/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.1.0.202305091550/tools/bin --swd --port-number 3333",
      "serverStarted": "Waiting for connection on port .*//.//.//.",
      "stopAtConnect": true,
      "postRemoteConnectCommands": [
        {
          "text": "load build/debug/build/TRY_V.elf"
        }
      ],
      "logging": {
        "engineLogging": true
      },
      "preLaunchTask": "Build"
    }
  ]
}

这是我的VSC布局:布局

作为STM32开发的新人,我对它使用的工具链不太熟悉,希望有人能帮我一个忙。真诚地。

STM32Cubeide Nucleo STM32F1 Arm-none-eabi-gcc st-link

评论

0赞 0___________ 10/19/2023
我一直在想,为什么那些宣称自己是初学者的人,试图让学习曲线更加陡峭。安装STM32CubeIDE并忘记配置。当你变得更有经验时,开始使用DIY环境(但你可能不想这样做)。专注于编程,而不是工具配置。

答:

0赞 ALL Nick 10/25/2023 #1

在浏览了几个小时的文档后,我在Cube Extension的页面上发现了一个重要的建议。 “疑难解答 启动调试器时,可能会发生与板的连接失败,并显示一条 Visual Studio Code 消息,报告“无法启动调试。没有进程与此对象关联。 可以在 DEBUG CONSOLE 中确定根本原因。很可能会报告以下消息:“初始化ST-LINK设备时出错。原因:需要ST-LINK固件升级。

要解决此问题,请根据需要安装并运行STM32CubeProg以升级ST-LINK固件。

总之:我们需要做的是尝试更新我们的ST-Link固件