STLINK连接问题
连接正确是前提,很多人可能会将SWDIO和SWCLK这两根线接反了,这是初学者最常见的错误,多检查几次。
No target connected
分两步来排查。
第一,如果Serial会出现一串数字,并且Version:HW和FW都会有显示,那么说明STLINK与电脑的连接没有问题能够被检测到。如果没有出现,先检查你STLINK与电脑的连接是否有问题,可以换一个电脑接口,或者换一个STLINK进行测试。
第二,排除了第一没有问题,显示了改有的数字,但No target connected检测不到单片机。那么先进行STM32和STLINK下载器连接线的排查。发现没有问题,可以接着看下面的内容。

查看STM32Cubemx的配置
如果是使用STM32Cubemx生成代码的朋友,检查一下SYS中Debug是否选择了Serial Wire。

按住reset点击download
硬件和接线都没问题情况下,这时候可能是SWD的引脚被占用了,或者被禁用了。这时候ST-LINK自然无法通过SWD跟板子通信,所以才会提示No Target connected。
所以,这时候按住reset,再点击download,再松开reset。原理就是在程序运行到SWD引脚占用之前,把新的程序烧录进去,抢个时间差。但是这招不是每次都管用,有概率性失败。
单片机NRST引脚并没有连接按键,可以引出一个导线来手动复位。

程序锁死 以及 ST-LINK connection error

STLINK-Utility解决办法尝试

解决ST-Link 连接错误,需要使用官方工具:STM32 ST-LINK Utility

使用ST-LINK 链接STM32的开发板,关闭有关占用端口的软件如串口助手之类的软件
双击启动该程序

启动程序后,需要先点击连接,链接成功后,再点击图中的橡皮檫即可擦除开发板的程序
并解决keil 5 的st-link connection error报错

点击确认

结果如图,到此已经修复完成如果还是无法修复,建议更换下载器或者开发板。

如图显示st-link connection error报错的位置在图中标注为5的位置。该图已经修复了错误,仅作为示例

更换芯片(加固下引脚)或者开发板
如果是在之前使用时能够正常下载,但是后面突然出现问题了,可以检查下芯片是否短路发烫。如果是芯片原因那就换一个芯片。
如果是自己焊接的板子,有的时候会因为焊接的问题导致芯片的引脚连接虚焊、漏焊等原因导致程序下载不进去。我在工作过程中就遇到过这种情况,程序死活烧录不进去,前面提到的方案也排查完了,后面就是拿个风枪,给芯片打点助焊剂,重新再吹一吹就正常了。
换个开发板其实也是同理,就是换个芯片进行测试。
本期就到这里结束了,希望能够帮到大家!
STM32 ST-Link下载失败解决全攻略
2955

被折叠的 条评论
为什么被折叠?



