[学习资料] 【每周分享】如何给Hex/Bin文件“烙上”版本和日期

[复制链接]
102|4
forgot 发表于 2026-1-22 13:24 | 显示全部楼层 |阅读模式
如何给Hex/Bin文件“烙上”版本和日期
实现方法:
定义结构体(如 version_info_t),包含主版本号、次版本号、Git提交哈希、编译时间戳等。
使用链接器脚本或 __attribute__((section(".version_info"))) 将该结构体放到一个已知地址。
在程序中,可以通过指针访问并打印这些信息;在PC端,可以使用 hex编辑器或专用小工具直接查看烧录文件(.hex或.bin)末尾的该区域内容。

xuanhuanzi 发表于 2026-1-24 18:07 | 显示全部楼层
核心思路是在代码中预留一块固定的内存区域(如 Flash 特定地址段),将版本号、编译日期、编译时间等信息以结构化数据的形式存放在这里

评论

对的  发表于 2026-1-24 18:14
gejigeji521 发表于 2026-1-25 18:49 | 显示全部楼层
在固件的指定内存区域预留一段空间,将版本号、编译日期、编译时间等信息以固定格式写入该区域,最终打包进 Hex/Bin 文件。
heisexingqisi 发表于 2026-1-28 15:29 | 显示全部楼层
在代码中定义版本信息的结构体,指定字节对齐为 1(不同编译器默认对齐不同,防止结构体大小变化导致地址偏移),包含必要标识,建议增加CRC32 校验位(验证版本区数据是否被篡改)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2537

主题

16615

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部
0