0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

企业级操作之STM32项目版本管理方法

撞上电子 2023-11-11 08:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MCU开发过程中,有时候需要软件的迭代,比如从V1.9升级到V1.10,或者从V23.09.23升级到V23.09.24,我们常常通过手动改动字符串或者数组来实现这个功能,从现在开始,我们会使用Keil的内置宏__DATE__和__TIME__,通过这2个宏,每次程序编译完成,烧录到MCU之后,MCU都能够准确打印出该固件的编译时间。

printf("(版本/编译时间: %s,%s)\r\n", __DATE__,__TIME__);

60fbfac2-8025-11ee-9788-92fbcf53809c.png


上图中编译时间是18:21:14,但是串口打印的时间却是18:21:23。但是我们发现电脑的时间何编译的时间还是有一点点区别的,原因是,编译之后,代码还要下载,还要运行,这个也是需要时间的,所以产生了误差。但如果你发现打印的时间不准确,是较早前的时间,比如很明显相差1分钟以上,或者你认为这个时间不是真正编译的时间,那么需要注意:按照Keil的编译逻辑,默认是不编译未修改过的源文件,只链接。说详细一点点就是:例如这两条打印语句的位置,是在int main(void)函数中,且main函数在main.c文件中,假如本次修改代码,未修改main.c文件,那么Keil是不会重新编译main.c文件的,也就不会将编译时的__DATE__和__TIME__编译进去。也可以通过以下设置,使得main.c文件,无论是否修改,每次编译时都会重新编译它:

610983ea-8025-11ee-9788-92fbcf53809c.png

610dbb68-8025-11ee-9788-92fbcf53809c.png

当然每次都编译main.c,并非是最好的代码风格,可以把版本号打印提炼成一个函数,并单独使用一个.c文件进行实现,并将这个.c文件按照以上方法设置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18604

    浏览量

    386880
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371123
  • keil
    +关注

    关注

    69

    文章

    1224

    浏览量

    171800
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    国内企业级SSD厂商加速崛起

      电子发烧友网报道(文/黄晶晶)国际数据公司(IDC)发布最新报告显示,中国企业级固态硬盘市场在2024年得到修复,市场规模达到62.5亿美元,与2023年相比增长187.9%。IDC预计
    的头像 发表于 06-09 07:54 1.2w次阅读
    国内<b class='flag-5'>企业级</b>SSD厂商加速崛起

    海微科技智能仓库2.0项目正式启动

    11月4日,海微智能仓库2.0项目启动会在海微智造举行。项目通过数字化仓库顶层设计与自动化技术的深度融合,实现了仓库从 “人力密集”到“智能无人”的跨越。
    的头像 发表于 11-07 15:15 182次阅读

    rt-thread studio中创建不了gd32项目是怎么回事?

    为什么在rt-thread studio中创建一个gd32项目时候,他打开的那个选型芯片型号是,安装好了,没有确认键啊,只有退出sdk管理器,然后就卡在那里了,创建不了gd32的项目
    发表于 09-15 06:56

    STM32项目分享:智能语音台灯(机智云)

    01—项目简介1.功能详解STM32智能语音台灯(机智云)功能如下:STM32F103C8T6单片机作为主控单元按键切换模式,支持自
    的头像 发表于 07-24 18:03 1051次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能语音台灯(机智云)

    企业级Linux磁盘维护的完整流程

    企业级Linux环境中,磁盘故障是导致系统宕机和数据丢失的主要原因之一。据统计,超过70%的企业级服务器故障与存储系统相关。作为运维工程师,掌握完整的磁盘维护流程不仅能预防故障,更能在关键时刻拯救整个业务系统。
    的头像 发表于 07-23 16:59 617次阅读

    企业级智能体是什么?有什么作用?

    在人工智能技术飞速发展的今天,企业级智能体正成为推动组织数字化转型的重要力量。这种新型的企业智能化解决方案,正在重塑企业的运营模式和管理方式,为商业发展注入全新动能。 一、
    的头像 发表于 07-21 15:44 567次阅读
    <b class='flag-5'>企业级</b>智能体是什么?有什么作用?

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL的企业级部署、优化、维护技能至关重要。本文将从实战角度出发,系统阐述MySQL在
    的头像 发表于 07-09 09:50 504次阅读

    企业级SSD的核心技术与市场趋势

    。   企业级SSD的核心部件示意图   主控芯片(控制大脑) 控制数据读写,直接决定SSD 的性能、可靠性固件(操作系统) 确保SSD高效稳定运行 NAND Flash、DRAM(存储介质) NAND Flash是主要存储介质,用于存储用户数据;DRAM提供数据缓存 。
    的头像 发表于 07-06 05:34 6507次阅读
    <b class='flag-5'>企业级</b>SSD的核心技术与市场趋势

    NRF24L01项目资料(2.4G通信)实例项目下载

    NRF24L01项目资料(2.4G通信)实例项目,推荐下载!
    发表于 06-03 20:46

    STM32项目分享:智能鞋柜

    01—项目简介1.功能详解STM32智能鞋柜功能如下:DHT11检测鞋柜温湿度,温度低于阈值开启加热,湿度高于阈值开启加热和通风;P
    的头像 发表于 05-27 18:04 701次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能鞋柜

    STM32项目分享:STM32智能语音台灯

    项目简介1.功能详解STM32智能语音台灯功能如下:1.STM32F103C8T6单片机系统板作为主控单元2.按键切换模式,支
    的头像 发表于 03-15 10:02 2340次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:<b class='flag-5'>STM32</b>智能语音台灯

    慧荣科技企业级主控芯片SM8366为企业级SSD存储芯片注入新动力

    慧荣科技凭借其深厚的技术积累和创新精神,推出了企业级主控芯片SM8366,这一举动无疑为企业级SSD存储芯片市场注入了新的活力,慧荣科技此次推出的企业级主控芯片SM8366,在性能提升和功能优化方面
    的头像 发表于 02-07 13:28 979次阅读
    慧荣科技<b class='flag-5'>企业级</b>主控芯片SM8366为<b class='flag-5'>企业级</b>SSD存储芯片注入新动力

    hyper v 虚拟化,hyper-v虚拟化:企业级虚拟化解决方案的全面解析

    企业管理中,任务的分配和执行是核心环节之一。然而,传统方式往往因效率低下而影响整体工作进度。批量管理工具的出现,为企业管理提供了全新的思路和方法。今天就为大家介绍hyper-v虚拟化
    的头像 发表于 01-24 14:21 2349次阅读
    hyper v 虚拟化,hyper-v虚拟化:<b class='flag-5'>企业级</b>虚拟化解决方案的全面解析

    构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案

    前言 随着企业数据量的激增,构建一个安全、高效的企业级文件管理系统至关重要。华为 Flexus X 服务器,以其灵活的资源配置与卓越的性能,成为部署 Seafile 社区版云存储解决方案的理想选择
    的头像 发表于 01-13 11:14 3466次阅读
    构建<b class='flag-5'>企业级</b>文件<b class='flag-5'>管理</b>系统,轻松搭建 Seafile 社区版云存储解决方案

    声明式资源管理方法

    1、管理k8s核心资源的三种基础方法 陈述式管理方法:主要依赖命令行CLI工具进行管理 声明式管理方法:主要依赖统一资源配置清单(manif
    的头像 发表于 12-31 10:16 1061次阅读