GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); //关闭JTAG调试功能,释放PB3/PB4等引脚做普通IO

就这一行小小的错误,直接焊死单片机的烧录功能。

本意是想关闭JTAG调试功能,释放PB3/PB4等引脚做普通IO,怎奈手快直接根据提示敲了回车。

应该是这行代码GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

区别是:GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);只关闭 JTAG,保留 SWD 下载(安全、不会影响烧录)

重点:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);一旦执行这行代码,芯片会立刻关闭调试端口下载器会瞬间断开连接 → 报 Target DLL has been cancelled

当前环境下再也无法使用STLINK进行烧录了。。。。

解决方案是:Linux环境下,STLINK切换进虚拟机

终端输入:sudo apt install stlink-tools

安装完成后输入st-flash --connect-under-reset erase

重点:输入完成后不要摁回车

此时,按住板子RESET按键不放,回车执行,看到开始连接瞬间松开复位

如果看到:

st-flash --connect-under-reset erase

st-flash 1.7.0

2026-06-05T22:30:47 INFO common.c: F1xx Medium-density: 20 KiB SRAM, 64 KiB flash in at least 1 KiB pages.

Mass erasing

恭喜你,单片机又回来了!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐