页面加载中,请稍候
来源:嵌入式专栏发布时间:2024-08-071059浏览
询问 AI关注+星标公众号,不错过精彩内容

作者 |strongerHuang
微信公众号 |嵌入式专栏
实现方法
本文分享一个常用,也是最基础的小技巧:在Keil MDK环境下,通过软件代码,直接映射到并存储到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__ 语法
__attribute__ ((attribute-list))C语言标准定义
const char Compiler_Date[] __attribute__((at(VERINFO_ADDR_BASE + 0x40))) = "Date: "__DATE__;const char Compiler_Time[] __attribute__((at(VERINFO_ADDR_BASE + 0x60))) = "Time: "__TIME__;
【总是编译】版本文件

固件大小
生成的Hex文件会对没有使用的Falsh用0x00进行填充,比如:
#define VERINFO_ADDR_BASE (0x0800FF00) //存放FLASH的地址

新闻来源:嵌入式专栏,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
2026-06-01

2026-06-22