在使用 Keil 下载程序时,弹出错误窗口:

Error: Flash Download failed - Target DLL has been cancelled

点击 Debug Settings 查看,发现能识别到芯片,但状态显示 Invalid ROM Table,无法正常下载程序。

无论怎么重插 ST-Link、重启 Keil、重启电脑,问题依旧。

Invalid ROM Table 错误的根本原因是:芯片内部 Flash 中烧录的程序导致了 SWD 调试接口被禁用或芯片进入了异常状态

使用串口下载工具擦除 Flash(野火用户)

使用串口下载工具将 Flash 全部擦除:

  1. 打开 野火串口下载工具(FlyMcu 或 mcuisp)

  2. 在软件中选择正确的 COM 口和波特率

  3. 点击 擦除芯片(Erase Chip)或 全片擦除

  4. 擦除完成后,将 BOOT0 接回 GND

  5. 重新用 Keil 下载程序

原理:将 BOOT0 拉高后,芯片从系统存储器(System Memory)启动,进入内置的 Bootloader,此时可以通过串口下载程序。擦除 Flash 后,原来的问题程序被清除,SWD 接口恢复正常。

https://embedfire.com/download/ 去野火官网 下载 串口下载程序

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐