在keil 5下ST-LINK无法识别问题的解决

在keil 5下ST-LINK无法识别

1.情形设定

​ 在使用ST-LINK V2连接STM32 下载程序(使用SWD)时,发现Keil无法识别硬件,在魔术棒选项卡Debug-Setting中显示如图一。但是,之前程序能够下载,并且现在硬件仍然能够在设备管理器中找到,如图二。

在这里插入图片描述

图一 Keil Setting设备识别

在这里插入图片描述

图二 设别管理器界面显示

2.问题分析

​ 在提出解决方法之前,我们需要了解为什么会出现此问题。以便于下次再出现这样的问题是能够及时解决:

1.首先,我们明确一个前提条件,St-link无法识别的情况是突然出现的。(之前能够下载,现在遇到问题。这样是为了确认不是硬件焊接问题。而是程序逻辑出现了问题)。

2.其次,使用的下载方式是SWD四线下载模式(默认读者了解该下载模式,附原理图如下图三)

图三 SWD下载

3.最后,说明问题出现原因。SWD下载功能因为程序逻辑被关闭,造成ST_LINK硬件无法识别。

注释: 至于为什么SWD的下载功能会被关闭,原因可能是因为读者在配置STM32CUBE 中的设置时忽略了对于 sys-Debug 的配置,如下图四所示。解决程序的设置,如图五所示。此时仍然无法把程序下载进入板子(无法识别硬件造成)。

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

图四 没有配置

图五 应当设置

3.解决方式——请先熟悉上面的解释

1、先确认目标板上电。

2、长按住目标板子的复位键,再点击 Settings

3、此时KEIL打开Settings的设置对话框,请确认有SWD的内容后,再进行下一步。

4、将目标板断电,重新上电。

5、先长按目标板的复位键,再点击仿真或者下载按钮,再松开复位键。

​ 注:这里点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时间每次都不同,在某一个点时,就可以进入仿真或者下载程序了。板子就恢复正常了。

但需要注意的是,在程序里一定要避开对GPIO13\GPIO14的配置。对应于问题分析——注释的内容

.参考文献

1.获取图片

https://blog.csdn.net/shuiyihang0981/article/details/99011334?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight

2.解决步骤

https://blog.csdn.net/qq_42041980/article/details/92015997?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-3&spm=1001.2101.3001.4242

在此,感谢CSDN用户qq_42041980的方法。

3.熟悉问题

https://blog.csdn.net/liluochengren/article/details/89389436?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.edu_weight_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.edu_weight

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值