🎀 文章作者:二土电子
🌸 关注公众号获取更多资料!
🐸 期待大家一起学习交流!
有时候我们辛辛苦苦完敲完了代码,终于准备烧录测试,结果当你满怀激动地点击烧录按钮的时候,发生了尴尬的事情😰
文章目录
1. ST-Link烧录报错
你的报错可能是这样
可能是这样
又或是这样
也可能是这样
你的报错可能千奇百怪,但总之就是下载不进去,你开始迷茫,😡¥%#&@&……
今天我们就来学习解决一下新手的噩梦——STlink下载失败问题!
2. 解决方法
2.1 提示No ULINKpro Device found
2.1.1 常规方法
当然这只是众多报错中的一种,你的报错还可能是下面这种
虽然提示的不一样,但是错误原因是一样的,通常可能是你选择的烧录器不是ST-LINK。
好的,错误原因我们知道了,要怎么解决呢?首先点击keil地魔术棒,找到“Debug”选项卡
在下拉菜单中找到"ST-Link Debugger",选中
至此,第一种报错基本都能被解决,如果你仍然还是这种报错,还可能是下面这种情况
2.1.2 其他情况
如果你在设置完ST-Link下载后还是会出现一样的报错,那么请还是先点击魔术棒,找到最后一个选项卡“Utilities”,我猜是这样的
我们可以选择直接勾选“Use Debug Driver”,或者选择将ULINK换成ST-LINK。
如果你尝试以上两种方法之后还是没有解决这个问题,可以在配置完魔术棒之后重新编译一下工程。
2.2 提示No ST-LINK detected
遇到这个提示通常有以下几种情况,一种是你的ST-LINK坏了,还有一种可能是你的电脑COM口有问题或者没安装驱动。
一般使用扩展器接ST-LINK的话容易导致找不到ST-LINK,这时重新拔插一下就可以。
可以尝试从以上几个方面排查问题,通常情况是接线错误导致的,可以着重检查接线。
2.3 提示No target connected
这个提示就比较有意思了,能遇到这个提示,至少说明你的ST-LINK应该没有什么问题,我们应该怎么解决呢,通常有以下几种解决方法
- 板子是坏的,可以换一个板子尝试一下;
- ST-Link与板子引脚连接错误,SWCLK连接SWCLK,SWDIO连接SWDIO,尤其要注意在连接时不要连接到ST-Link,RST、SWIM那一排引脚,另外如果你的板子在已经有其他线路供电的时候建议不要接ST-Link的3.3V;
- 程序中禁用了SWD引脚功能,导致无法正常使用ST-Link下载,这种情况一般比较少见,我们在开发时也要尽量避免禁用SWD功能,如果遇到这种情况导致无法连接板子,可以按住复位键,松开复位的一瞬间点击下载也可以下载成功,如果不成功可以多尝试几次;
2.4 提示Error: Flash Download failed - Could not load file xxxx.axf
遇到这种提示首先可以先尝试重新编译一下,通常可以解决,如果仍然不能解决,检查一下编译输出是不是没有勾选.hex,打开魔术棒,找到“Output”选项卡,勾选上“Create HEX File”
2.5 为什么我的程序没运行
最后我们额外补充一种情况,有的同学可能会疑惑,为什么我下载完了程序没有运行?那是因为没有勾选下载完运行,如果想要程序运行需要手动复位一下或者重新断电上电,我们可以打开魔术棒,还是在“Debug”选项卡中,点击“Settings”
点击新窗口的第三个选项卡,勾选复位并运行
如此一来我们下载完的程序会自己复位并运行。
最后想说,本文很难覆盖到大家遇到的全部情况,如果你有其他问题或者解决方法,欢迎评论补充!