绝妙!如何在SMT32程序HEX文件中加入固件版本信息

您所在的位置:网站首页 三星最新固件查询版本号 绝妙!如何在SMT32程序HEX文件中加入固件版本信息

绝妙!如何在SMT32程序HEX文件中加入固件版本信息

2024-07-04 23:33:27| 来源: 网络整理| 查看: 265

作者:阿莫icode,整理:晓宇

微信公众号:芯片之家(ID:chiphome-dy)

大家有没有遇到过软硬件工程师扯皮的事情?

如果一个程序,固件信息里面没有任何版本信息,代码里面通过串口等接口也查询不到固件版本等信息,一旦出现问题,就会你推我,我推你了。

那么,怎么样来避免这种情况发生呢?

一种方法是,就像上面提到的,可以将固件版本信息定义成一个常量存放在程序中,需要的时候可以通过串口等接口查询代码版本信息,另一种,是今天上网看到的,思路也非常巧妙,这里分享给大家!

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

代码如下:

//------------------------------------------------------------------------------#include //------------------------------------------------------------------------------#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__ 机制,__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute ),使用at参数,可以把变量或函数绝对定位到Flash或者RAM中。  具体语法,请自行百度,这里不再赘述。

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

重点在这里

串口打印输出

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

怎么样,赶快加到你的程序中试一下吧,从此,软硬件工程师又手拉手,亲密无间

关于电子软硬件技术,希望大家,enjoy!喜欢请点赞并转发支持我们,您的转发就是我们继续创作的最佳动力,谢谢大家!

推荐阅读

  电子漫画系列,更新九张图片。  【最强干货】618个3D封装免费分享  【干货第二波】一大波3D封装免费分享   贴片电容国内外品牌   DC-DC电源芯片国内外品牌大汇总   几毛钱的32768晶振,这也能写出一篇干货?   车牌识别控制板原理图+PCB+3D齐全无私分享  【视觉盛宴】你没见过的电子元器件的另一面!   完全由C编写,高度可移植,超级牛逼的菜单架构!  【视频】老外教你三极管和MOS管的通电效应,我就不信还有不懂的!

请戳右下角,给我一点在看!


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭