Bootloader、升级、测试与量产怎样闭环
下载完成不等于升级成功
安全升级至少经过:
text
接收元数据 → 检查型号/版本/大小 → 分块写非活动区
→ 完整性与签名验证 → 标记候选 → 重启试运行
→ 新固件自检并确认 → 提交为稳定版本
失败/超时/反复复位 → 回滚旧版本或进入恢复模式1
2
3
4
2
3
4
完整性校验发现传输损坏;数字签名建立发布者身份与防篡改边界;版本策略处理回滚攻击与兼容性。具体安全方案需要威胁模型和密钥生命周期,不能只加一个 CRC。
状态元数据必须抗掉电
更新标志、写入进度和活动槽位不能靠一次非原子覆盖。常用方法包括双副本、序号、校验、先写数据后提交标记,以及启动时选择最后一个完整有效记录。必须在每个写入边界注入掉电,而不是只测试“下载中途断网”。
测试层次分别证明什么
| 层次 | 证明范围 |
|---|---|
| 主机单元测试 | 算法、解析器、状态机纯逻辑 |
| 目标板测试 | 编译器、体系结构、外设和时序 |
| 硬件在环 HIL | 真实 I/O、故障注入和系统响应 |
| 环境/EMC/寿命 | 温度、电源、干扰和长期边界 |
| 量产测试 | 每台设备装配、校准、身份和可追溯性 |
量产测试通过不等于设计验证完成;它通常只检查已定义的快速项目。每台设备应关联序列号、硬件修订、固件、校准数据、测试站版本、结果和时间。
常见误解
- 有双分区就自动安全;仍需验证、确认、回滚和元数据原子性;
- CRC 可以证明固件来自可信发布者;CRC 不提供身份认证;
- 模拟器测试通过就代表真实外设时序正确;
- 产测失败只判废,不保存失败阶段和原始测量,导致无法改进制程。
下一步:故障注入与恢复实验。