一、烧录基础概念:量产烧录到底在干什么?

大家好,我是你们的讲师。做了十几年嵌入式固件,从最早用编程器一颗颗烧 AT89C51,到现在用自动化产线一天烧几万片芯片,烧录这件事,我算是跟它打了半辈子交道。

很多刚入行的工程师觉得烧录很简单——把 hex 文件拖进去,点一下烧录,完事。但真到了量产阶段,问题就全冒出来了:烧到一半报错、某批次芯片死活烧不进、产线良率突然掉到 80%……

所以第一章,我们先打好基础。把烧录的本质、分类、以及最容易被混淆的概念讲清楚。你把这些搞明白了,后面遇到问题才知道往哪个方向排查。

1.1 量产烧录 vs 开发烧录:完全不是一回事

先问一个问题:你在开发板上用 J-Link 下载程序,跟产线上用自动化设备烧录,是一回事吗?

表面上看,都是把二进制数据写进芯片。但量产烧录有它自己的三个核心特征:

  • 批量性:一次操作处理几十甚至上百颗芯片,不是一颗一颗伺候
  • 一致性:每颗芯片烧录的内容、配置、校验结果必须完全一致
  • 可追溯性:哪颗芯片烧成功了、哪颗失败了、失败原因是什么,都要有记录

我个人习惯把量产烧录比作「印刷」,开发烧录比作「手写」。手写可以涂改、可以重来,但印刷必须一次成型,而且每张都要一模一样。

核心认知:量产烧录不是开发烧录的简单放大,而是一个独立的工程领域。它涉及设备选型、治具设计、流程优化、良率管控、数据追溯等多个环节。

1.2 烧录的本质:写 Flash 和烧熔丝

烧录的本质是什么?说白了,就是把你的程序和数据,写进芯片的非易失性存储器里。芯片断电后数据不丢,上电后能跑起来。

但这里有个关键区别——不同的芯片,烧录的对象不一样。

芯片类型 烧录对象 特点
MCU(如 STM32、GD32) 内部 Flash 可擦写多次,容量从几 KB 到几 MB
SPI Flash / NOR Flash 外部 Flash 芯片 常用于存储代码或文件系统,可多次擦写
OTP 芯片 熔丝 / 反熔丝 一次性编程,烧完不能改
eFuse 电熔丝 通常用于配置位、安全位、芯片 ID 等
FPGA(如 Xilinx、Altera) 配置存储器 / SRAM SRAM 型每次上电需加载,Flash 型可固化

我在项目中遇到过最头疼的情况,就是某款车规级 MCU 的配置位是通过 eFuse 烧录的。产线上烧完 Flash 以为完事了,结果芯片上电后死活不工作。查了两天才发现——配置位没烧,芯片默认从错误的中断向量表启动。

避坑指南:量产烧录前,一定要确认芯片的烧录对象包含哪些区域。很多芯片除了主 Flash,还有独立的配置区、选项字节、安全位、eFuse 等。漏烧任何一个,都可能造成整批芯片报废。

1.3 脱机烧录 vs 在线烧录:两种模式的本质区别

这是量产烧录里最基础、也最容易混淆的概念。我经常被问到:「老师,脱机烧录是不是就是不用电脑?」

嗯,这个说法对了一半。我们来看它们的本质区别。

在线烧录(In-System Programming, ISP)

在线烧录,也叫在系统编程。芯片已经焊在板子上了,通过板上的接口(如 SWD、JTAG、UART、USB)进行烧录。

  • 优点:不需要额外的烧录座,板子设计好接口就行
  • 缺点:烧录速度受接口带宽限制,且依赖上位机软件
  • 典型场景:小批量生产、研发调试、现场升级

脱机烧录(Offline Programming)

脱机烧录,也叫离线烧录。芯片还没焊到板子上,先放在烧录器的座子里烧好,再拿去贴片。

  • 优点:烧录速度快,不依赖电脑,一台烧录器可以同时烧多颗
  • 缺点:需要专用烧录座,芯片需要先烧后贴
  • 典型场景:大批量量产、芯片预编程

你想想看,产线上一小时要烧 2000 颗芯片,用在线烧录的话,每颗要花 30 秒,还得一台电脑控制一个烧录器。而脱机烧录,一台设备同时烧 8 颗,每颗只要 10 秒,效率差了多少?

我的建议:如果你的产品年产量在 10 万颗以上,强烈建议用脱机烧录。虽然前期要投入烧录座和设备的成本,但长期来看,良率和效率的提升完全能覆盖这部分投入。

1.4 一张图看懂烧录知识体系

下面这张图,把本章的核心概念串起来了。你可以把它当作烧录知识的第一张地图。

烧录基础概念体系 烧录(Programming) 按场景分类 按烧录对象分类 按连接方式分类 开发烧录 量产烧录 Flash 熔丝/eFuse OTP 在线烧录(ISP) 脱机烧录(离线) 批量性 一致性 可追溯性 核心:量产烧录 = 批量性 + 一致性 + 可追溯性,不是开发烧录的简单放大

1.5 量产烧录的典型流程

最后,我给大家梳理一下量产烧录的标准流程。不管用在线还是脱机,这个框架基本通用。

  1. 准备固件:编译生成 hex/bin 文件,确认版本号和校验值
  2. 配置烧录参数:设置烧录地址、校验方式、加密选项等
  3. 加载固件到烧录器:将固件下载到脱机烧录器或上位机软件
  4. 执行烧录:启动烧录流程,烧录器按协议写入芯片
  5. 校验:烧录完成后,读取芯片内容与原始固件比对
  6. 记录结果:记录每颗芯片的烧录状态、耗时、校验结果
  7. 不良品处理:对烧录失败的芯片进行标记、隔离、分析原因

记住:量产烧录的终点不是「烧进去」,而是「每颗都烧对、可追溯、可复现」。校验和记录这两步,绝对不能省。

好了,第一章的内容就到这里。概念清楚了,后面我们才能聊具体的问题——比如烧录失败的原因分析、不同接口的时序差异、以及如何提高产线良率。