提问人:ALL Nick 提问时间:10/18/2023 更新时间:10/25/2023 访问量:49
当 STM32 的调试程序NUCLEOF103RB时出现“无法统计调试”错误
Came up with an "Unable to stat debugging" error when Debug program for STM32 NUCLEOF103RB
问:
我正在尝试在 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开发的新人,我对它使用的工具链不太熟悉,希望有人能帮我一个忙。真诚地。
答:
在浏览了几个小时的文档后,我在Cube Extension的页面上发现了一个重要的建议。 “疑难解答 启动调试器时,可能会发生与板的连接失败,并显示一条 Visual Studio Code 消息,报告“无法启动调试。没有进程与此对象关联。 可以在 DEBUG CONSOLE 中确定根本原因。很可能会报告以下消息:“初始化ST-LINK设备时出错。原因:需要ST-LINK固件升级。
要解决此问题,请根据需要安装并运行STM32CubeProg以升级ST-LINK固件。
总之:我们需要做的是尝试更新我们的ST-Link固件
评论