伴随着走进STM32 开发 ,烧录部分一直会出现 各种各样的问题 ,写一篇博文记录关于烧录部分的问题,此文会持续更新,可能之后又遇到其他新的问题,会回来再添加的。
目录
STLINK NO TARGET CONNECTED 问题的解决
STLINK CONNECTION ERROR 问题的解决
固件丢失
点进去 发现是 下图
正常的应该是下图
解决方案
第一种方案(硬件)
未安装驱动,自行安装驱动 或者 更新驱动、检查线路 线没插稳 连接不稳定。
第二种方案(软件)
确认stlink驱动已安装:打开keil->魔术棒->Debug->setting->[Debug Adapter]框中可以检测到ST-LINK/V2和Serial等信息。 但右侧[SW Device]框内无法检测到stm32设备,框内显示[ST-LINK Connection error]。
需要使用 使用 软件
打开STLINK UTILITY软件
在settings里面,设置mode connect under reset模式(按下最小核心板的复位键时候连接)
然后按下复位,记住不要松手,点击软件中的 连接
st_link的灯闪烁红蓝相间的光表示连接成功
松开芯片 复位键,既连接成功 。
连接成功后,将芯片全部擦除
重新插拔stlink
STLINK NO TARGET CONNECTED 问题的解决
解决方案
第一种方案
SWJ接口线解错了,所以检查线路!!!
STLINK是否连接完好,是否接触不良。
第二种方案
SWJ功能被关闭了
如果你按住 复位键 然后就可以看见识别设备了
这时候按住reset,再点击download,再松开 复位键。原理就是在程序运行到SWD引脚占用之前,把新的程序烧录进去,抢个时间差。但是这招不是每次都管用,有概率性失败。
第三种方案
boot0 接高电平 download正常程序后,再接回低电平,即可烧录(跳线帽换个位置就是置 0 和1)
boot0接高电平时,程序是跑得系统存储器或者内置SRAM中的程序,这时候不跑主闪存存储器的程序,SWD没有占用,ST-LINK也通信正常,烧录一个正常的程序后,再把boot0 接回低电平,就可以再烧录程序了。
如果以上方法都无法解决,基本上就是某个硬件自身质量出现问题
放几个论坛,或许去哪里请教其他大神