固件烧录

编程校验与回读:写入完成后检查什么

区分写入状态、数据校验、回读和功能验证,并了解这些检查各自的适用边界。

编程工具报告“完成”不一定代表系统已能按预期启动。工程上应区分传输或命令执行状态、目标存储器内容校验、数据回读和上层功能验证;不同器件与工具提供的检查方式并不相同。

校验通常比较什么

编程校验可能由工具在写入阶段读取目标内容并与预期数据比较,也可能使用器件提供的专用验证操作。执行前应确认比较范围、掩码、跳过区域和地址映射。若源文件是 Intel HEX 或 S-record,需确保校验时使用相同的地址记录解释;BIN 则需要同样明确起始地址和长度。

校验失败时,先查看具体失败地址或工具报告的区域,再核对输入文件、目标偏移、擦除策略和器件访问状态。校验工具若使用压缩、加密或专用编程算法,实际比较对象可能不是简单的文件逐字节拷贝,应查阅相应厂商资料。

回读的用途和限制

回读可用于导出目标区域并与预期数据作进一步比较,但要确认读回范围、地址、填充值和转换规则一致。安全锁定、读保护或器件架构可能限制回读,某些配置流程也可能只允许专用验证而不允许读取明文内容。无法回读不自动说明写入失败;应检查目标器件支持的验证方法。

校验通过不等于功能通过

内容校验说明所检查的范围符合选定比较条件,但并不能证明启动引脚、复位释放、时钟、电源、外部器件、启动介质选择或固件运行行为都正确。完成写入后还应按产品测试计划观察必要的启动或功能信号。反之,功能启动失败也可能源自镜像布局或启动配置,而不是写入传输本身。

形成可复现记录

记录源文件版本及校验值、目标区域、工具和算法版本、写入选项、校验模式与结果。按 JTAG 固件编程流程 把复核作为正式步骤;BIN、Intel HEX 和 S-record 的地址表达差异可参考 固件映像格式入门。

对可编程逻辑器件,厂商可能提供同时包含算法和数据的专用编程文件,见 JAM/STAPL/SVF 用途概览。文件类型本身不能替代对目标支持方式和校验能力的确认。