STM32 产线批量烧录台
- 状态:idea
- 提出人:待确认
- 参与人:王小杰、刘力夫
- 创建日期:2026-08-14
- 最近更新:2026-08-14
一句话说明
打造支持多探头并行、即插即烧、序列号注入和追溯报表的 STM32 产线烧录工具。
背景与问题
小批量或产线烧录 STM32 时,人工选择探头、重复执行命令、分配序列号和整理记录容易出错,也缺少统一的可追溯结果。projects/embedded-lab/stm32-flasher 已有 Go + Fyne 软件原型,包含多探头并行、即插即烧、唯一序列号分配、烧录校验和 CSV 报表等设计。
目标工厂规模、操作系统、芯片系列、节拍要求和现有烧录流程:待确认。
目标用户与使用场景
- 小批量装配团队:当前依赖工程师手工执行烧录命令,希望降低操作门槛。
- 研发转产团队:需要让固件版本、硬件 UID、序列号和测试结果可追溯。
- 多工位产线:希望多个探头并行工作,并对失败板、重烧板和探头异常做隔离。
首版优先针对 2 至 4 工位的小批量场景,先证明流程可靠和数据不串号;大规模 MES 集成、自动上下料与专用治具控制应在真实产线需求明确后扩展。
核心设想
- 同时支持多 ST-LINK 并行烧录和单工位即插即烧两种模式。
- 统一驱动 STM32CubeProgrammer CLI 或 OpenOCD,并以退出码和输出标记双重确认结果。
- 为每块板注入唯一序列号,记录探头、芯片 UID、固件哈希、操作员和结果。
- 对擦除、校验、Option Bytes、写保护和 RDP 等高风险设置提供明确护栏。
- 以桌面仪表盘展示各工位状态,降低产线操作员理解命令行工具的成本。
产线工作流
- 工程负责人导入经过批准的固件包、目标芯片、烧录步骤和版本信息。
- 系统识别并绑定各 ST-LINK 序列号到固定工位,启动前完成自检。
- 操作员接板后,系统读取芯片 UID,判断新板、重烧板或未知状态。
- 系统原子分配产品序列号,执行擦除、烧录、选项配置和校验。
- 每一步记录开始/结束时间、工具版本、固件哈希、退出码和摘要日志。
- 成功后给出明确放行信号;失败板保持失败状态,必须按授权流程重试。
- 班次结束导出汇总,能够按产品序列号、芯片 UID 或工位追溯全过程。
首版范围
必须验证
- Windows 上运行,驱动 2 至 4 个 ST-LINK 和一种明确 STM32 芯片系列。
- 多探头稳定识别、固定工位绑定、即插即烧和烧后校验。
- 固件哈希、芯片 UID、产品序列号、探头、结果和日志的本地追溯。
- 序列号原子分配,应用异常退出或并行竞争时不重复、不跳过而无记录。
- 固件包审批状态、操作员权限和高风险步骤的显式确认。
暂不纳入首版
- 所有 STM32 系列、所有探头品牌和跨平台完整支持。
- 与任意 MES/ERP 的通用集成、云端多工厂管理和自动治具控制。
- 默认开放 RDP、写保护、Option Bytes 等危险配置的任意编辑。
数据与状态模型
- 工单:产品型号、批次、目标数量、固件包和允许的硬件版本。
- 板卡:产品序列号、芯片 UID、首次烧录和最近一次重烧记录。
- 工位:探头序列号、端口、状态、累计成功/失败数和最近错误。
- 烧录尝试:唯一尝试 ID、时间、操作员、步骤、工具输出、结果和失败原因。
- 固件包:文件哈希、版本、目标芯片、烧录地址、配置和批准人。
记录只追加,不以重试覆盖失败历史;CSV 可作为导出格式,但需要更可靠的本地事务存储作为事实来源。
首轮验证指标
| 维度 | 首轮门槛 | 验证方法 |
|---|---|---|
| 串号安全 | 并行和异常重启测试中序列号零重复 | 多进程/掉电注入后核对数据库 |
| 结果可信 | 工具失败、校验失败和报表失败均不得显示成功 | 注入不同失败并核对 UI 与记录 |
| 热插拔 | 连续更换 20 块板不误绑定探头或重复触发 | 真实板卡轮换测试 |
| 节拍 | 2 至 4 工位并行后单板等待时间有可量化改善 | 与单工位手工流程对比 |
| 追溯 | 任一成品可在 1 分钟内定位固件、UID、工位和日志 | 随机抽查记录 |
差异化与商业假设
- 免费烧录工具已经能完成单板下载,价值主要来自防错、并行、追溯和面向操作员的流程约束。
- 对小团队可交付本地桌面工具;对正式产线则需要治具、权限、MES 接口和长期支持,商业与实施成本不同。
- 是否值得产品化取决于目标客户每批数量、失败成本、现有追溯痛点和部署频率。
讨论记录
2026-08-14
- 参与人:待确认
- 结论:从 embedded-lab 中的软件原型提炼为独立产线工具创意;当前先验证真实多探头、热插拔和追溯闭环,不把单元测试等同于产线可用。
- 补充:本轮明确了产线状态、追溯数据、序列号安全和高风险操作护栏;目标产线与芯片范围仍待确认,状态保持
idea。
验证方式
- 使用 2 至 4 个 ST-LINK 和真实 STM32 板卡验证并行烧录、探头绑定与烧后校验。
- 在即插即烧模式连续更换至少 20 块板,确认不会重复烧录或分错序列号。
- 构造烧录失败、探头掉线、固件错误和报表写入失败,确认结果可追溯且不会误报成功。
- 找 1 至 2 个真实生产或小批量装配场景试用,记录节拍、误操作和部署成本。
风险与待确认问题
- 目标芯片系列、探头型号、操作系统和允许调用的烧录工具版本:待确认。
- 产品序列号来源、分配权限、报废与重烧策略:待确认。
- RDP、Option Bytes、密钥或个性化数据涉及不可逆风险,需要单独审批与审计。
- 仅凭命令退出码可能误判,必须按目标芯片建立读取回验标准。
- 本地数据库损坏、程序崩溃和突然断电时,序列号与板卡状态如何恢复:待确认。
阶段里程碑
- 单工位可信基线:冻结固件包格式、状态机和追溯模型。
- 多工位验证:完成 2 至 4 探头并行、热插拔和异常注入测试。
- 小批量试跑:连续处理至少 20 块真实板,并与人工流程比较节拍。
- 现场试点:在真实装配场景运行一个批次,评估部署和支持成本。
下一步
- 用 2 至 4 个 ST-LINK 和真实板卡完成产线模式验证,并访谈目标使用者。
- 定义工单、固件包、板卡、工位和烧录尝试的数据结构与状态机。
- 明确序列号分配、重烧、报废和应用崩溃后的恢复规则。
- 编写探头掉线、校验失败、重复接板和报表失败的故障注入清单。
相关资料
- 软件原型:
projects/embedded-lab/stm32-flasher