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

    文章

    19314

    浏览量

    405721
  • STM32
    +关注

    关注

    2315

    文章

    11223

    浏览量

    375725
  • keil
    +关注

    关注

    70

    文章

    1233

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    腾讯云发布企业级Agent安全框架等新品

    4.0版本,正式定位为企业级AgentOps平台。这场发布会的核心意图非常清晰——腾讯云要把AI Agent从实验室里"能跑通"的 Demo,推进到企业生产环境里"敢上线、能大规模跑"的阶段。
    的头像 发表于 06-09 11:04 435次阅读

    企业级BMS技术深度解析:从SOC估算到主动均衡,嵌入式工程师如何跨越量产门槛?

    Meta Description(元描述): 本文深度拆解企业级电池管理系统(BMS)的核心技术壁垒,包括分布式架构、卡尔曼滤波SOC估算、主动均衡电路、ISO 26262功能安全及CAN总线通信
    发表于 06-07 10:30

    浪潮信息直播发布业界首个企业级OpenClaw方案“企千虾”

    月2日,浪潮信息直播发布业界首个企业级OpenClaw方案——「企千虾」,为企业规模化部署、管理和应用OpenClaw,打造了安全、高效、易用的全链路方案。实操演示了「企千虾」基于元脑服务器实现
    的头像 发表于 04-05 17:44 2221次阅读

    如何做出一个出彩的STM32项目?4大能力短板提升全攻略,建议收藏!

    。其实不是我们不够努力,而是踩进了只会玩模块,不会做产品的坑。今天就跟大家好好聊聊,怎么跳出这个怪圈,把STM32项目做得专业又亮眼。01突破瓶颈为何“懂外设”却做不
    的头像 发表于 03-30 14:00 302次阅读
    如何做出一个出彩的<b class='flag-5'>STM32</b><b class='flag-5'>项目</b>?4大能力短板提升全攻略,建议收藏!

    中兴通讯推出企业级桌面智能体Co-Claw

    今日,中兴通讯宣布已正式上线企业级桌面智能体——Co-Claw 企业版。
    的头像 发表于 02-03 09:57 647次阅读

    深演智能发布新一代企业级AI智能体平台DeepAgent 3.0版本

    1月27日,深演智能在举办的“AI AGENT赋能业务增长”高峰闭门会上正式发布了新一代企业级AI智能体平台 DeepAgent 3.0版本。此次升级推出了二十余款智能体应用,覆盖:从用户运营、广告
    的头像 发表于 01-29 09:23 971次阅读

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件

    VSCode + ESP-IDF环境下给ESP32-S3项目添加头文件
    的头像 发表于 11-28 07:27 3600次阅读

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

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

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

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

    STM32项目分享:矿井环境监测系统

    01—项目简介1.功能详解STM32矿井环境监测系统功能如下:STM32F103C8T6单片机作为主控制器DS18B20测量环境温度
    的头像 发表于 08-16 10:03 1241次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:矿井环境监测系统

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

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

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

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

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

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

    企业级MySQL数据库管理指南

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

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

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