[麦麦茶水间] 【每周分享】软件加入版本、日期、时间

[复制链接]
1886|14
liao6 发表于 2025-10-29 10:37 | 显示全部楼层 |阅读模式

一、我用过的

        软件版本一般是用空定义,记录内部版本、外部版本;

        日期、时间:printf("CompileDate: %s %s\r\n",__DATE__,__TIME__);


二、指定存储区域(Flash)中写入软件版本信息

#define VERINFO_ADDR_BASE   (0x0800FF00) //存放FLASH的地址

const char Software_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x00)))  = "Software: 1.0.0";

const char Compiler_Date[] __attribute__((at(VERINFO_ADDR_BASE + 0x40))) = "Date: "__DATE__;

const char Compiler_Time[] __attribute__((at(VERINFO_ADDR_BASE + 0x60))) = "Time: "__TIME__;


attribute,翻译为“属性”,在C语言中,是一个关键字,语法格式为:__attribute__ ((attribute-list))

__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。



评论

实用  发表于 2025-10-30 11:33
赞  发表于 2025-10-30 09:04
穷得掉渣大侠 发表于 2025-10-30 22:12 | 显示全部楼层
学习了,以前一直不知道如何在Flash中存储版本信息,这个例子很清晰。
ningling_21 发表于 2025-10-29 22:27 | 显示全部楼层
很实用的技巧
周半梅 发表于 2025-10-30 07:21 | 显示全部楼层
KITXCB其实自带多个无线接口,包括BLE、NFC和Sub-GHz,可以灵活模拟不同的无线厨房场景,挺适合早期原型验证。
dffzh 发表于 2025-10-30 10:04 | 显示全部楼层
有软件版本的详细信息,方便管控,便于扯皮,哈哈。
forgot 发表于 2025-10-30 11:33 | 显示全部楼层
确实很有用的,很多时候都会为不知道是什么版本的设备头疼
 楼主| liao6 发表于 2025-10-31 08:20 | 显示全部楼层
穷得掉渣大侠 发表于 2025-10-30 22:12
学习了,以前一直不知道如何在Flash中存储版本信息,这个例子很清晰。

是的,可以直接拿来用
 楼主| liao6 发表于 2025-10-31 08:20 | 显示全部楼层
forgot 发表于 2025-10-30 11:33
确实很有用的,很多时候都会为不知道是什么版本的设备头疼

是的
 楼主| liao6 发表于 2025-10-31 08:20 | 显示全部楼层
dffzh 发表于 2025-10-30 10:04
有软件版本的详细信息,方便管控,便于扯皮,哈哈。

有些时候就是需要证明自己没毛病
 楼主| liao6 发表于 2025-10-31 08:21 | 显示全部楼层
dffzh 发表于 2025-10-31 08:51 | 显示全部楼层
liao6 发表于 2025-10-31 08:20
有些时候就是需要证明自己没毛病

是的,职场上虽不坑别人,但得学会保护自己才行。
 楼主| liao6 发表于 2025-10-31 14:36 | 显示全部楼层
dffzh 发表于 2025-10-31 08:51
是的,职场上虽不坑别人,但得学会保护自己才行。

没毛病
ghost_z 发表于 2025-11-10 12:05 | 显示全部楼层
不指定地址行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

257

帖子

1

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