一行代码,单片机变板砖:Flash Download failed - Target DLL has been cancelled

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
恭喜你,单片机又回来了!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)