STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server

手上有块小蓝板(淘宝某款),又名Bule Pill,样子大概长这样

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第1张图片

使用STM32CubeIDE生成代码,调试时接上ST-LINK V2后,调试的时候报错

Error in final launch sequence:

Failed to start GDB server
Failed to start GDB server
ST-Link设备进行初始化时出错。
原因:(18) Could not verify ST device! Abort connection.

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第2张图片

 LOG具体信息:

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第3张图片

ST-LINK是可以使用的,擦除与下载都正常

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第4张图片

联网查了半天,发现是目标板的主控芯片的问题,之前还以为是下载器的问题,可是我以前也使用过这种ST-LINK调试,是可以调试的。我的板子上使用的是CKS32F103C8T6,不是ST出厂的,正如问题报的那样:原因:(18) Could not verify ST device! Abort connection.——无法验证ST设备!终止连接。

我使用的克隆芯片

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第5张图片

因为不是正版,所以淘宝才卖这么便宜……

 

解决办法:

1.换颗ST的正版芯片

2.改用Keil或IAR等其它软件,因为它们不是ST的软件,所以调试的时候不会管你是不是正版……

3.不想换芯片,也不想改工程的,可以不使用GDB server调试,可以改成OpenOCD

 

这里主要说一下第三种方法

在ST的社区也有人遇到过这个问题,https://community.st.com/s/question/0D50X0000BUjpxvSQB/error-in-initializing-stlink-device-reason-18-could-not-verify-st-device-abort-connection

,博主就是在那里看到的解决办法,总结一下啊

1.更改调试方法,点击Debug Configurations的调试器,在调试探头下选中“ST-LINK(OpenOCD)”

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第6张图片

 2.找到芯片的配置文件:stm32f1x.cfg

如果你的软件安装的是默认位置,那么应该在:

C:\ST\STM32CubeIDE_1.3.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.debug.openocd_1.3.0.202002181050\resources\openocd\st_scripts\target

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第7张图片

2.使用编辑器打开文件,找到命令行(大概在第62行)字符串开头:swj_newdap

swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

-expected-id $_CPUTAPID 改为 -expected-id 0

0告诉OpenOCD忽略id号,这意味着所有克隆或真正的mcu都可以工作,更改后如下

# swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0
set _TARGETNAME $_CHIPNAME.cpu

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第8张图片

保存配置后开始调试,当然你不会成功的,因为我们还要改一下其它选项,如果你直接调试,可能会报下面的错:

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第9张图片

还是在刚才Debug Configurations的选项卡,点击“Show generator options…

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第10张图片

更改“Reset Mode” 为 “Software system reset

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第11张图片

最后点击“Apply”、“Debug”然后你就可以进入调试页面了!

STM32CubeIDE调试时,报Error in final launch sequence: Failed to start GDB server_第12张图片

不过说实话,它显示的调试信息我不是很喜欢……

你可能感兴趣的:(STM32)