设备身份证——固件版本+序列号+生产日期存Flash
一句话: 固件版本编译时写死、序列号和生产日期出厂一次写入 Flash 独立区。不依赖校准标志,校准系数重写不会覆盖。三样东西三个入口,互不干扰。
适合谁读:需要给设备加序列号、版本号管理、出厂日期的嵌入式开发者。
三样各自独立
| 信息 | 存储 | 大小 | 读写 | 写几次 |
|---|---|---|---|---|
| 固件版本 | 宏编译时写死 | 2B | cmd 19 只读 | 不写 |
| 序列号 | Flash 偏移128 | 16B ASCII | cmd 20/21 | 出厂一次 |
| 生产日期 | Flash 偏移144 | 8B ASCII | cmd 22/23 | 同上 |
序列号格式TOAS+ 11 位流水号。日期格式YYYYMMDD。全 0x00 = 未写入。
不依赖校准标志
上电加载时三样独立判断——全0xFF(空白 Flash)才归零。不跟着Calibration_Flag走。校准系数坏了重写,SN 和日期纹丝不动。
和校准数据物理隔离
Flash 扇区内布局:校准系数在一头,SN/日期在另一头。即使写入时地址算错、擦多了一段,也是擦到保留区而不是 SN/日期。
有用的话点个收藏,下次调试直接用。有问题欢迎评论区交流,看到了都会回。
