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

选项配置中:Flash地址与大小不用做任何修改!

HEX文件:

串口打印输出:
