前言
前几天折腾cubemx,用stlink下载了程序之后,就没法再次下载程序。keil提示no target connected。搞了三四天才搞懂原因,现在把解决方法记录下来。(第一次写博客,排版捉急)
解决方法
我参照了周勇大神的方法
http://zhyong319.blog.163.com/blog/static/6857205201276105311857/
- 首先长按复位按键(没有复位按键的自己做一个)然后打开stlink setting
注意:点击setting按钮时必须保持复位键按下
- 如果能看到下图红圈中的信息,则表明stlink 和 开发板是好的,如果没有的话,请检查硬件连接
现在可以松口气,弹开复位键,我们来开始接下来的步骤了
- 接下来我们尝试下载程序。首先长按复位键。然后点击flash download.接下来是关键,你要在0.5秒内松开复位键,然后你就可以看见程序乖乖地进去了
问题分析
上面的方法治标不治本,因为这样的话,每次下载都要复位,特别麻烦。
我再次参照周勇大神的博客,他有提到PA13和PA14,即SWCLK和SWDIO的问题,于是我想到了一个问题,会不会是Cubemx导致PA13和PA14不可用呢?
然后我打开cubemx,果然找到了答案。
每个cubemx工程都默认不开启Debug选项,这就是为什么下载程序后,据没法使用stlink。此时我们需要做的就是,在创建工程的时候,开启SYS下面的Serial Wire的debug选项
然后按照上面说的复位下载法下载一次程序,以后就可以直接下载,不用倒复位按钮啦啦啦啦啦啦~~