STLINK V2.1无法给MCU烧写代码解决方法

自己制作的板载STLINK,烧录了V2.1的固件,带Debug功能和虚拟串口,刚开始是好的,结果使用STM32CubeMX新建了工程生成代码后,烧进去程序后,后续无论再怎么烧录都提示ST-LINK communicaiton error,尝试的次数多了,直接提示未知的USB设备或无法识别USB设备。在设备管理器中也找不到虚拟串口了。

因为我用的STLINK 芯片是C8T6的,官方推荐的是CBT6,一度怀疑是容量不够导致了某些异常,但这个解释不了为什么之前是好的,突然就用不了这个情况。后面找到原因后,才明白了不是此原因。

以下是快速解决方法:

方法一:

参考我这篇博客,STLINK V2.1出现USB communication error无法下载程序原因及解决方法-优快云博客

如果还不行,提示USB无法识别,此时就需要对STLINK的固件重新刷写。请看方法二。

方法二:

1.使用外部的STLINK或者Jlink(注意不是开发板本身的stlink),连接开发板的stlink烧录口,使用STM32 Programmer或者STM32 ST-LINK Utility,进行固件的烧录。(烧录方法可网上搜寻STLINK V2.1固件烧录方法),这里以STM32 Programmer为例:

烧录如果失败,会有错误提示,烧录成功如下图:

2.如果烧录成功,则stlink固件烧录完成,拔掉外置的stlink或者jlink,接上USB连接开发板stlink,打开keil,更新stlink驱动,就可以烧录了。如果还不能烧录或者不会更新stlink驱动,卸载一下虚拟串口的驱动,再更新。

3.stlink固件烧录失败的情况下,需要先想办法把stlink的固件烧录进去。

步骤一:因为stlink芯片也是stm32,随便找一个芯片对应的工程,使用外置stlink或者jlink通过keil将代码烧进去,此时再切换到烧录stlink固件界面,此时再烧录固件发现固件就可以烧录成功了。

后续步骤如2相同。

总结:出现烧录不进去,根本原因是MCU烧录口被锁,需要通过配置debug口和复位方式解锁烧录口。

出现stlink固件丢失或者损坏问题,需要重新烧录固件,如果烧录固件失败,需要通过重新烧录其他程序再烧录固件方式更新固件。

stlink更新固件后到keil中给MCU烧录程序,需要按照keil提示升级驱动,否则无法使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值