• 在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文件直接看出,亦可以通过串口打印版本信息,非常方便。

  • 相关阅读:
    【关于阿里云提醒我服务器被挖矿程序 媷毛这件事】
    wx小程序反编译(permeation)
    敏感信息泄露总结——转载
    企业钓鱼应急演练实现
    利用lsass免杀窃取凭证
    APP信息收集
    分享 | BypassUAC技术总结
    云安全矩阵(腾讯安全)
    提权
    辨少阳病脉证并治
  • 原文地址:https://www.cnblogs.com/schips/p/13217187.html
Copyright © 2020-2023  润新知