程序烧录失败90%的原因,其实是这些
烧录失败,是每个嵌入式开发者绕不过去的“心魔”。今天我们一口气把问题说清楚,让你以后一烧一个准!
🎯 你是否经历过这些场景?
- “为啥我按下下载键就卡死了?”
- “它明明连接成功,结果提示 Flash error?”
- “昨天还能烧,今天突然不行了?”
别急,你不是一个人!程序烧录失败的锅,真不是你电脑的“运气”问题,而是……一堆小细节捣乱了!
🔧 一图速览:烧录失败的最常见原因分类
程序烧录失败主要分为三大类:
├── 硬件问题(接线、电源、引脚)
├── 软件设置(烧录器驱动、下载参数)
└── 操作疏忽(没进下载模式、忘了上电)
✅ 最常见的10个“背锅侠”
1️⃣ 烧录线接反(TX↔RX或SWDIO↔SWCLK接错)
新手经典翻车点:你以为你接好了,结果 TX 对 TX,RX 对 RX……烧录器一脸懵。
- UART下载:TX要接MCU的RX,RX接MCU的TX
- SWD下载:SWDIO↔SWDIO,SWCLK↔SWCLK,不能反!
2️⃣ GND 没接!
别笑,地线不接,信号全靠“玄学”。
- 烧录器和目标板一定要共地(GND连一起)
- 有时看着接好了,其实杜邦线虚焊,建议用万用表测一下阻值
3️⃣ 没进下载模式(比如 BOOT0 没拉高)
你按下“下载”按钮,MCU却还在运行程序——那当然烧不进去!
举个例子:
MCU | 下载模式操作 |
---|---|
STM32F1 | BOOT0拉高,重启 |
ESP32 | IO0接地,上电进入 |
EFR32 | 默认支持SWD,但部分需进入Boot模式 |
建议开发时加入一个“强制下载模式”的按键方案,别指望程序自己“配合烧写”。
4️⃣ 烧录器驱动没装 / 版本冲突
Windows 下驱动问题超常见:
- CH340 驱动没装:串口都没出现
- ST-Link 驱动太老:烧录一直超时
- J-Link 有多个版本同时装:冲突到你哭
建议:
- 使用官网最新版驱动
- 避免多个烧录器混装
- 在设备管理器中确认是否识别成功
5️⃣ 烧录参数设置错(地址、速度)
你用 J-Flash 烧录,却手滑选错芯片型号?
你用 Keil 下载,却写错 Flash 起始地址?
结果嘛:烧不进去 / 烧进去也跑飞。
建议:
- 芯片型号确认三遍(STM32F103C8 ≠ STM32F103CB)
- 烧录软件的 offset/size 设置要和目标芯片一致
- 下载速度不要贪快,先从默认速度测试
6️⃣ 电源不足或不稳定
你用 USB 给开发板供电,却又拖了一堆模块(OLED、WIFI模块、传感器)——烧录时压根供不上电!
- 使用稳压的 DC 电源 或 电源模块
- USB3.0接口通常电流更高
- 如果用 ST-Link 的供电引脚,请注意供电能力有限
建议:烧录时断开高功耗模块,先“安安静静”地烧个程序进去。
7️⃣ 程序把烧录引脚占用了
你上一次写了个“超级闪灯程序”,用 GPIO 把 SWD 引脚“变灯控”,结果下次烧录直接懵逼。
解决办法:
- 启用“读保护解除”重新恢复下载能力
- STM32可进ISP/UART模式重新刷Bootloader
- 开发初期慎用下载口的引脚
8️⃣ Flash损坏或已写保护
芯片的 Flash 被你“不小心”写成了只读模式,或者存储寿命到了,烧录当然失败。
- 查看是否开启了 RDP(Read Protection)
- 使用擦除功能清空 Flash 内容
- 替换芯片试试(尤其是二手的 / 淘来的)
9️⃣ 串口工具/Keil/IAR/J-Flash 被占用
烧录器只认一个“主人”——如果后台有别的程序(串口助手、ST-Link Utility)占着它,它就罢工了。
建议:
- 烧录前关闭所有串口工具
- 检查是否有多个 IDE 同时运行占线
🔟 烧录线/转接头接触不良
插了一年没动的杜邦线,内部早氧化了。手一碰就断,一烧就挂。
建议:
- 更换优质杜邦线
- 使用排针 + 焊接代替插拔
- 烧录座用久了也要清灰保养
💡 进阶小技巧:自查思路五步法
1. 看:设备是否被识别?驱动是否正常?
2. 测:电源是否稳定?GND是否连接?
3. 换:换线换端口换烧录器排除硬件故障
4. 简:使用最简单的程序测试(比如LED闪烁)
5. 查:查看 IDE 错误提示/Log 日志分析
✅ 写在最后:烧录失败不可怕
烧录失败,并不意味着芯片坏了、大限已至。
90% 的问题都可以靠冷静+排查解决!
所有嵌入式老鸟都经历过“烧不进去”的抓狂时刻,
真正牛的开发者,能稳稳查出问题,一次次修好它。
📢 想继续看这些主题?
- 《串口烧录 vs JTAG vs SWD,傻傻分不清?》
- 《ST-Link 和 J-Link 区别在哪?选谁更合适?》
- 《如何自制一个小巧好用的下载器?》
欢迎点赞 + 收藏 + 留言,我可以继续出“嵌入式实战避坑”系列文章!