[分享]一个小技巧在SMT32程序HEX文件中加入固件版本信息 C/C++

admin 2020-7-9 1688

分享一个小技巧,使用MDK编译器,让STM32程序HEX文件中加入固件版本信息,估计很多老手都已经在使用(你有好的方法欢迎分享,希望我的砖能引来你的玉),该方法献给新手或初学者。

  1. //------------------------------------------------------------------------------
  2. #include <absacc.h>

  3. //------------------------------------------------------------------------------
  4. #define VERINFO_ADDR_BASE   (0x8009F00) // 版本信息在FLASH中的存放地址
  5. const char Hardware_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x00)))  = "Hardware: 1.0.0";
  6. const char Firmware_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x20)))  = "Firmware: 1.0.0";
  7. const char Compiler_Date[] __attribute__((at(VERINFO_ADDR_BASE + 0x40))) = "Date: "__DATE__;
  8. const char Compiler_Time[] __attribute__((at(VERINFO_ADDR_BASE + 0x60))) = "Time: "__TIME__;

  9. //------------------------------------------------------------------------------

图片ID: 216
选项配置中:Flash地址与大小不用做任何修改!
图片ID: 217
HEX文件:
图片ID: 218


串口打印输出:

图片ID: 219


最新回复 [1]
  • lizhendong 2020-7-14
    0 2
    不错,顶
返回