ST-Link 调试工具无法连接 ST-Link in DFU Mode.Restart it or upgrade it 问题解决

最近我把好久不用的正点原子的 STM32开发板下载程序时,Keil提示要升级板载的stlink,但是点击升级后,就一直报错" stlink in DFU Mode,upgrade or restart it",始终无法下载程序。如下图。

网上找了一下发现是新版本的Keil (我用的Keil版本:5.37;)会检测 STLink 的版本,要求STLink更新到最新版本才让下载程序,但是板载的下载芯片为STM32F103C8T6,该芯片的flash容量不足以安装新版本的STLink。如果是用 STM32F103CBT6 容量就够了。

网上的解决方案看了一下,比较简单的解决方案是恢复 STLink 的旧版本固件,然后 Keil 中也用旧版本的驱动。具体方法如下:

1. 先退出 Keil 软件

从 ST 官网 (https://www.st.com.cn/zh/development-tools/stsw-link007.html, 需要注册用户)或者百度网盘连接中 ( 链接: https://pan.baidu.com/s/1oVFXfLgTr4bWQVMtEs6p5g?pwd=1234, 提取码: 1234 )下载 STLink 的固件升级工具。

如果是从 ST 官网下载,请注意选择比较旧的版本,我这里选择的是 2.38.27 的(再旧的版本应该也可以,请自行测试)。

解压下载的压缩包,打开其中 \stsw-link007\Windows\文件下的 ST-LinkUpgrade.exe,

开发板或者调试工具接入电脑,点击 Device Connect, 然后再点击 Yes. 等进度条跑完。软件提示 升级完成后,退出 ST-LinkUpgrade。

用上述步骤中的 \stsw-link007\Windows\ 文件夹下的 ST-LinkUpgrade.exe, STLinkUSBDriver.dll 这两个文件。替换掉 Keil 安装目录下的 ARM\STLink 子目录下的同名文件。

4. 重新打开 Keil 和工程

下载测试。

posted @ 2025-04-22 17:16  doleo  阅读(1174)  评论(0)    收藏  举报