单片机学习小组
直播中

fdjslkjd

8年用户 1088经验值
擅长:光电显示
私信 关注

怎样去解决stm32 ST-Link V2下载程序出错的问题

STM32 ST-Link V2下载程序出现错误是怎么回事?
怎样去解决stm32 ST-Link V2下载程序出错的问题?

回帖(1)

李建

2022-2-17 14:24:21
根据自己使用和其他工程师情况总结。
开发环境:MDK5.26
本来一直都很正常,突然就冒出这个问题
系统:WIN10/WIN7

供电:板子一定要供电!
确保ST-LINK跟板子连接完好
按住reset点击download
硬件和接线都没问题情况下,这时候可能是SWD的引脚被占用了,或者被禁用了。
这时候ST-LINK自然无法通过SWD跟板子通信,所以才会提示No Target connected。
所以,这时候按住reset,再点击download,再松开reset。原理就是在程序运行到SWD引脚占用之前,把新的程序烧录进去,抢个时间差。但是这招不是每次都管用,有概率性失败。
但是不要紧,我们还有第四招
boot0 接高电平download正常程序后,再接回低电平,即可烧录
boot0接高电平时,程序是跑得系统存储器或者内置SRAM中的程序,这时候不跑主闪存存储器的程序,SWD没有占用,ST-LINK也通信正常,烧录一个正常的程序后,再把boot0 接回低电平,就可以再烧录程序了。

显示“NO target connected“ 但是驱动没有问题,在设备管理器中显示出有stlink
原因是配置了GPIOA的 14 13这两个口了  
”GPIOA_MODER复位后的值为:0x2800 0000,即将GPIO1314配置为复用模式,但为什么在程序配置了GPIO1314为输出,并且在目标芯片有复位的情况下也会引起SWD无法仿真、下载的问题。”
解决办法:
1、先确认目标板上电。
2、先长按住目标板上的复位键,再点击 Settings,再松开目标板上的复位键。
3、此时KEIL打开Settings的设置对话框,请确认有SWD的内容后,再进行下一步。
4、将STM32F41Discovery板断电,重新上电。
5、先长按STM32F4Discovery的复位键,再点击仿真或者下载按钮,再松开复位键。
      注:这里点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时间每次都不同,在某一个点时,就可以进入仿真或者下载程序了。板子就恢复正常了。但需要注意的是,在程序里一定要避开对GPIO13GPIO14的配置。
注意:松开复位键 需要感觉的  太短或者太长都不可以的 。需要多次试验才能够成功。
——---------------------------------------------------------------------------------------------------
第一步:检测驱动是否安装正确,如下图正确

第二步:确认调试器选择正确,如下图所示

第三步:确认下图1,2,3处设置正确,出现此问题的主要原因是2处要选为“under Reset”选项,默认“Normal”选项设置,导致了“no target connected”下载程序错误。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分