在SMT32程序HEX文件中加入固件版本信息

Posted schips

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SMT32程序HEX文件中加入固件版本信息相关的知识,希望对你有一定的参考价值。

将固件版本信息定义成一个常量存放在程序中,需要的时候可以通过串口等接口查询代码版本信息,另一种,是利用编译器的语法,将固定的信息保存到某地。

#define VERINFO_ADDR_BASE   (0x8009F00) // 版本信息在FLASH中的存放地址
const char Hardware_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x00)))  = "Hardware: 1.0.0";
const char Firmware_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x20)))  = "Firmware: 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 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute ),使用at参数,可以把变量或函数绝对定位到Flash或者RAM中。

将固件版本信息,硬件版本信息,软件编译时间等,就可以定义在Flash中的空闲位置,既可以通过HEX文件直接看出,亦可以通过串口打印版本信息,非常方便。

以上是关于在SMT32程序HEX文件中加入固件版本信息的主要内容,如果未能解决你的问题,请参考以下文章

更改地址 STM32F722 程序

将数组写入 .hex 文件中的特定闪存位置

求助,求向access2003版本数据库中加入新纪录的程序代码(VC6.0,MFC,ADO)

转载keil5中加入STM32F10X_HD,USE_STDPERIPH_DRIVER的原因

STM32 USB DFU功能

E-PUCK机器人-标准固件