< 返回

问题2:点击下载按钮时,提示No target connected

最后更新时间:2023.6.26

问题原因

电脑通过STLINK未检测到有STM32芯片连接,原因是多样的,可能是接线的问题,可能是STLINK的问题,也可能是STM32的问题,请按照以下方法依次尝试解决。

解决方法

1. 接线错误。请仔细观察引脚标号,按照引脚标号正确接线。

注意:不同款式的STLINK,引脚排列可能不一样。引脚顺序并非依次对应,接线需要交叉。STLINK两排引脚不一样,接线需要插在远离缺口的一排引脚。

请按照下图仔细检查接线。

img

一种款式的STLINK与STM32正确的接线(接线需要交叉)

img

另一种款式的STLINK与STM32正确的接线(接线需要交叉)

img

STLINK插线位置(需要插在远离缺口的一排引脚)

其中不同款式的板子,引脚标号可能有不同的缩写,以下同一行的标号均表示同一个引脚。

3.3V 3V3 3.3
SWDCLK SWCLK DCLK
SWDIO SWIO DIO
GND G

另外,接线接触不良也可能导致这个问题,可以尝试换几根线试一下。

2. STLINK有问题。实践发现,部分STLINK确实会导致这个问题,判断方法暂时不明显,如果身边有别的STLINK可以进行替换测试,可以先通过替换别的STLINK来验证当前STLINK是否有问题,这是最快捷的方法。如果没有别的STLINK,可以尝试一下更新STLINK固件,STLINK固件更新步骤如下。

打开Keil软件的安装目录。如果不清楚Keil软件的安装目录,可以在桌面图标右键,打开文件所在的位置,找到安装目录。

img

打开Keil安装目录

在右键跳转打开的安装目录里,先回退上一级文件夹,然后依次打开ARM,STLink文件夹,找到ST-LinkUpgrade.exe软件并打开。

img

找到STLINK固件更新软件

将STLINK插到电脑USB口,如果事先已经插上了,则需要重新插拔一次,STLINK的线最好也全都拔掉,以避免问题。之后,先点击Device Connect 按钮连接设备。连接成功后,再点击Yes 按钮执行固件更新。

img

固件更新步骤

固件升级成功后,正常使用前,需要再次重新插拔STLINK,以避免问题。

img

固件更新成功

3. STM32的问题。实践发现,部分STM32也会导致这个问题,判断方法暂时不明显,如果身边有别的STM32可以进行替换测试,可以先通过替换别的STM32来验证当前STM32是否有问题,这是最快捷的方法。如果没有别的STM32,可以按照下述步骤测试。

先确认在STM32在这之前是否正常下载过程序。如果之前正常下载过,之后没有执行过比较暴力的操作,比如加入过高的电压等,那STM32一般不会平白无故损坏。

禁用了调试端口会导致这个问题,尤其是使用过CubeMX软件生成的程序,因为CubeMX默认是禁用调试端口的。如果有这种情况,可以按照按住复位键不放手,点击下载按钮,及时松开复位键这个流程,下载新的程序。


< 返回