> 技术文档 > STM32使用ST-LINK-V2下载时遇到 No Target connected_stm32下载线连接方法

STM32使用ST-LINK-V2下载时遇到 No Target connected_stm32下载线连接方法


遇到问题

        使用 STM32F103C8T6 最小系统板,并且使用 STM32CubeMx 生成代码。在使用 ST-LINK下载时,第一次可以连接设备并且下载成功,但第二次下载后出现 No Target connected。寻找了一些解决方案。

解决方案

1.硬件方面

1.1 连接线

        选用 ST-Link,下方是实物图以及接口

        接线引脚如下,注意需要 根据缺口的方向 确定SWD接口,如图使用的是SWD蓝色接口,将其与STM32C8T6最小系统板下载调试口相连:


1.2 ST-Link 固件更新-驱动下载

        可以看看是不是 USB 驱动有问题导致的,可以试一下更新以下固件。

        ST:https://www.st.com/en/development-tools/stsw-link009.html#get-software 

进去点 Get Software,获取下载。


2.软件方面

2.1 CubeMx 部分

        检查一下 CubeMx 中的 SYS 设置。Debug 是否被设置成了 (No Debug)。如果是,改为 Serial Wire。然后按住 复位键 ,在 keil 点击下载

2.2 Keil 部分

        当然我没有解决,猜想是程序中什么地方被改了,因为第一次是可以下进程序并运行。

并且发现在未按住复位键 打开 Keil 魔术棒,进入Debug -->Settings 时,显示的是没有识别到设备。

        在按住复位键时,则可以识别到设备。查阅一些文章后发现是 SWJ 功能在代码中被关闭了。烧录的代码中禁用了芯片的 SWJ 调试接口功能。相关配置代码位于 stm32f1xx_hal_msp.c 文件中的 HAL_MspInit() 函数内。

        如图,将红框处的代码屏蔽后,还是需要按住 Reset 键然后点击下载后立马松开,就可以下载程序了。之后直接点击下载即可,不需要再按 Reset 也可以直接下载了。


一些参考

关于STM32烧录时出现No target connected问题的解决方法 - 武装胖胖龙 - 博客园

STlink使用四线SWD为STM32下载/调试程序_stlink v2 4pin 接口-CSDN博客

使用STM32CubeMX配置工程,烧录时出现No target connected(没有目标连接)的错误解决办法_cubemx导致no target-CSDN博客

【经验分享】STM32烧写程序:ST-link V2调试下载器实物和连接方式 - STM32团队 ST意法半导体中文论坛