在keil 5下ST-LINK无法识别

情况描述:ST-LINK能被电脑识别,驱动是好的。但是在keil中的Debug-setting中的SW Device找不到。无论是下载还是调试,都提示“flash download failed target dll has been cancelled”。(注:如果一按setting ST-LINK的指示灯就灭了,请重新升级一下ST-LINK的固件,可以在keil 5安装文件夹下的ST-LINK子文件夹下的ST-LinkUpgrade.exe自动升级)

显示“NO target connected“ 但是驱动没有问题 在设备管理器中显示出有stlink
原因是配置了GPIOA的 14 13这两个口了  

GPIOA_MODER复位后的值为:0x2800 0000,即将GPIO13\14配置为复用模式,但为什么在程序配置了GPIO13\14为输出,并且在目标芯片有复位的情况下也会引起SWD无法仿真、下载的问题。

解决办法:

1、先确认目标板上电。
2、先长按住目标板上的复位键,再点击 Settings,再松开目标板上的复位键。
3、此时KEIL打开Settings的设置对话框,请确认有SWD的内容后,再进行下一步。
4、将目标板断电,重新上电。
5、先长按目标板的复位键,再点击仿真或者下载按钮,再松开复位键。
      注:这里点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时间每次都不同,在某一个点时,就可以进入仿真或者下载程序了。板子就恢复正常了。但需要注意的是,在程序里一定要避开对GPIO13\GPIO14的配置。

 

注意:MXCube生成工程不留意容易中坑!!!

å¨è¿éæå¥å¾çæè¿°

如果没有选择debug项,默认是no debug,在你烧录完第一次之后就会变得无法烧录。如果已经生成工程了,可以通过修改特定部分代码即可。stm32f1xx_hal_msp.c文件中的HAL_Msplnit()函数中的__HAL_AFIO_REMAP_SWJ_DISABLE宏,根据需要修改即可。如果已经出现debug无效,可以通过按住复位键之后点击download再松开复位键修复。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值