第2章:烧录方案基础:固件与Bootloader概念、烧录协议简介、烧录工具链选型
大家好,我是你们的老朋友。今天咱们聊聊烧录方案的基础知识。说实话,很多刚入行的工程师觉得烧录就是把固件写进去,没什么技术含量。但我在产线摸爬滚打这么多年,可以负责任地告诉你——烧录环节出问题,返工成本能让你哭出来。
2.1 固件与Bootloader:你分得清吗?
先说说固件。固件就是跑在MCU里的程序代码,控制着美容仪怎么工作——什么时候震动、加热到多少度、LED灯怎么闪。说白了,它就是设备的灵魂。
那Bootloader是什么?我习惯把它比作「设备的引导程序」。设备上电后,Bootloader先跑起来,检查有没有新固件要更新,没有的话再跳转到主固件执行。
核心区别:
- 固件:实现产品功能的主体程序
- Bootloader:负责固件升级、启动管理的底层程序
我在项目中遇到过一件事。有个美容仪量产时发现部分设备无法升级固件,查了半天,原来是Bootloader里没有做Flash擦除校验。嗯,这个坑我踩过,你们别踩。
我的建议:量产前一定要验证Bootloader的升级流程,至少跑100次连续升级测试。别问我为什么知道这个数字。
2.2 烧录协议简介:SWD、UART、I2C
烧录协议,说白了就是烧录器和芯片之间怎么「说话」。市面上主流的有三种:SWD、UART、I2C。你想想看,选错了协议,烧录器连都连不上,多尴尬。
2.4.1 SWD(Serial Wire Debug)
SWD是ARM Cortex-M系列芯片最常用的调试烧录协议。它只用两根线:SWDIO(数据线)和SWCLK(时钟线)。
- 优点:速度快,支持调试,引脚少
- 缺点:需要专用烧录器(如J-Link、ST-Link)
- 适用场景:研发调试、小批量生产
我个人习惯在研发阶段用SWD,因为可以边调试边烧录,效率高。但量产时就不太合适了——你想想,产线上几十台设备同时烧录,SWD烧录器成本扛不住。
2.4.2 UART(串口烧录)
UART烧录是通过串口把固件数据发送给芯片。很多芯片出厂时内部就固化了UART Bootloader,比如STM32的System Memory模式。
- 优点:成本低,普通USB转串口模块就能用
- 缺点:速度慢,不支持调试
- 适用场景:量产烧录、远程升级
注意:UART烧录时波特率别设太高。我曾经为了追求速度设了921600,结果产线上一半设备烧录失败。后来老老实实降到115200,稳得很。
2.4.3 I2C烧录
I2C烧录相对小众,主要用于一些特定芯片或传感器模块。它用两根线:SCL(时钟)和SDA(数据)。
- 优点:可以挂载多个设备,适合总线架构
- 缺点:速度慢,协议复杂
- 适用场景:传感器模块烧录、从设备固件更新
说实话,I2C烧录我在美容仪项目里用得不多。但如果你做的是多传感器融合的美容仪,可能会用到。
| 协议 | 引脚数 | 速度 | 成本 | 推荐场景 |
|---|---|---|---|---|
| SWD | 2 | 快(可达10MHz+) | 高 | 研发调试 |
| UART | 2 | 慢(通常115200bps) | 低 | 量产烧录 |
| I2C | 2 | 慢(通常400kHz) | 低 | 模块烧录 |
2.3 烧录工具链选型:J-Link、ST-Link、量产烧录器
工具选对了,事半功倍;选错了,天天加班。我见过太多工程师在工具上栽跟头了。
2.3.1 J-Link
J-Link是SEGGER公司的产品,可以说是调试烧录界的「奔驰」。支持几乎所有ARM Cortex系列芯片。
- 优点:速度快,稳定,软件生态好
- 缺点:贵(正版几千块)
- 适用场景:研发调试、小批量生产
我个人习惯用J-Link做研发调试。它的J-Flash软件烧录速度确实快,一个1MB的固件几秒钟就搞定了。但量产时我不会用它——成本太高,而且一次只能烧一个。
2.3.2 ST-Link
ST-Link是ST官方出的烧录器,专门用于STM32系列芯片。价格便宜,几十块钱就能买到。
- 优点:便宜,与STM32兼容性好
- 缺点:只支持ST芯片,速度一般
- 适用场景:STM32项目研发、小批量
避坑指南:我曾经用ST-Link给STM32G0系列烧录,发现速度设高了会烧录失败。后来查资料才知道,G0系列的SWD时序要求比较严格。解决办法是把SWD时钟降到4MHz以下。
2.3.3 量产烧录器
量产烧录器是专门为产线设计的,可以同时烧录多台设备。常见的有:
- 脱机烧录器:不需要连接电脑,插上SD卡就能烧
- 机台烧录器:集成到自动化产线中,自动上下料
- 多路烧录器:一次烧录4个、8个甚至16个芯片
量产烧录器的核心指标有三个:
- 烧录速度:单颗芯片烧录时间
- 并发数量:同时烧录多少颗
- 稳定性:连续烧录1000颗不出错
我建议美容仪量产时至少用4路并发烧录器。为什么?你算算看:单颗烧录30秒,一天8小时只能烧960颗。4路并发就是3840颗,效率翻4倍。
选型总结:
- 研发阶段:J-Link(有钱)或ST-Link(省钱)
- 小批量试产:脱机烧录器(如J-Link Plus)
- 大批量量产:多路机台烧录器(如西尔特、致远电子)
好了,这一章的内容就到这里。下一章我会详细讲讲烧录流程的设计,包括怎么配置烧录脚本、怎么处理烧录失败的情况。到时候见。
课后思考:如果你的美容仪用的是国产芯片(如GD32、AT32),烧录工具链该怎么选?提示:看看它们兼容什么协议。