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
    +关注

    关注

    146

    文章

    16840

    浏览量

    349715
  • STM32
    +关注

    关注

    2264

    文章

    10852

    浏览量

    354094
  • keil
    +关注

    关注

    68

    文章

    1209

    浏览量

    166529
收藏 人收藏

    评论

    相关推荐

    emc企业级存储系统的特点

    在当今这个数据驱动的时代,企业对于数据存储的需求日益增长。EMC,作为全球领先的数据存储解决方案提供商,其企业级存储系统以其卓越的性能、可靠性和创新技术,为企业提供了一个强大的数据管理
    的头像 发表于 11-01 15:24 145次阅读

    STM32项目实战:基于STM32F4的智能灯光控制系统(LVGL),附项目教程/源码

    《智能灯光控制系统_STM32F4》项目完整文档、项目源码,私信小雯老师免费领取。STM32项目实战
    的头像 发表于 10-17 16:16 458次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>实战:基于<b class='flag-5'>STM32</b>F4的智能灯光控制系统(LVGL),附<b class='flag-5'>项目</b>教程/源码

    浅谈基于物联技术的企业能效管理方法研究

    联网技术合理应用条件下,积极探索电力能效管理方法,深入研究电力能效管理系统,进一步提升电力能效管理水平,助力国内社会主义事业持续建设发展。 关键词: 物联网技术;电力能效;管理方法
    的头像 发表于 10-17 13:39 144次阅读
    浅谈基于物联技术的<b class='flag-5'>企业</b>能效<b class='flag-5'>管理方法</b>研究

    STM32项目分享:智能门禁锁系统

    01—项目简介1.功能详解基于STM32智能门禁锁系统。功能如下:按键解锁:系统通过4×4矩阵键盘模块输入密码进入主菜单门禁刷卡:通
    的头像 发表于 09-12 08:04 892次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能门禁锁系统

    STM32项目分享:智能大棚/智慧农业系统

    01—项目简介1.功能详解基于STM32的智慧农业系统。功能如下:温湿度采集:使用DHT11温湿度传感器采集环境温湿度土壤湿度采集:
    的头像 发表于 08-30 12:15 607次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能大棚/智慧农业系统

    基于迅为RK3588【RKNPU2项目实战1】:YOLOV5实时目标分类

    【RKNPU2项目实战1】:YOLOV5实时目标分类 https://www.bilibili.com/video/BV1ZN411D7V8/?spm_id_from=333.999.0.0
    发表于 08-15 10:51

    eLxr 简介——为边缘到云部署提供企业级Linux

    eLxr项目发布了Debian衍生版的第一个版本,继承了Debian的智能边缘功能,并计划对这些功能进行扩展,以便简化边缘到云的部署方法。eLxr是一个开源企业级Linux发行版,旨在
    的头像 发表于 08-06 08:55 285次阅读

    STM32项目分享:智能家居(机智云)系统

    STM32项目分享:智能家居(机智云)系统
    的头像 发表于 07-28 08:10 1170次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:智能家居(机智云)系统

    esp32-c3连接不上aruba企业级路由器怎么解决?

    通过idf连接企业级路由器时连接不上。手机能正常连上,查看路由器管理页面发现手机连上的验证方式为peap + mschapv2方式,而idf中无此组合的配置。
    发表于 06-11 08:06

    Snowflake推出企业级AI模型

    Snowflake公司近日重磅推出了一款名为Snowflake Arctic的企业级大型语言模型(LLM)。这款AI模型针对复杂的企业工作负载进行了深度优化,特别是在SQL代码生成和指令跟踪等方面,表现卓越,已超越多个行业基准。
    的头像 发表于 05-06 14:38 359次阅读

    兆芯携手智云创新推出高性能NVMe企业级存储系统

    面向持续增长的数字化转型与应用创新发展需求,兆芯携手智云创新,基于兆芯高性能自主处理器平台成功推出多款信创存储产品,包括高性能NVMe企业级存储系统、HS6000系列企业级存储系统和HS600系列应用存储系统。
    的头像 发表于 04-12 14:06 492次阅读

    江波龙进军企业级存储,万事俱备坚定高端之路

    国内存储行业龙头企业江波龙经过二十多年的耕耘,已经成为面向消费电子、嵌入式、工业、车规存储的佼佼者,并转型为半导体存储品牌企业。就在2023年底江波龙的
    的头像 发表于 03-25 14:19 1370次阅读

    江波龙企业级存储正式量产一周年,交出亮眼“成绩单”

    自2023年1月江波龙首次发布企业级存储产品FORESEEORCA4836系列NVMeSSD与FORESEEUNCIA3836系列SATA3.2SSD以来,企业级存储产品于过去的一年中,在技术研发
    的头像 发表于 02-19 12:56 430次阅读
    江波龙<b class='flag-5'>企业级</b>存储正式量产一周年,交出亮眼“成绩单”

    企业级SSD-高性能系列固态硬盘推荐

    除了传统的机械盘HDD,固态硬盘SSD也开始慢慢地在企业级硬盘领域发挥重要的作用。由于企业级固态硬盘的价格远远高于机械硬盘,因此固态硬盘在企业级领域应用还不是很广泛,但是就发展趋势而言,很有可能会全面代替机械硬盘。
    的头像 发表于 01-23 16:48 1081次阅读
    <b class='flag-5'>企业级</b>SSD-高性能系列固态硬盘推荐

    细说企业级SSD的那些高价值特性

    企业级SSD(SolidStateDrive)是基于闪存技术的高性能、高可靠性的固态硬盘,专为满足企业级应用场景的需求而设计。为了满足各种高速数据处理和可靠性要求较高的应用场景,企业级SSD在
    的头像 发表于 12-16 08:35 943次阅读
    细说<b class='flag-5'>企业级</b>SSD的那些高价值特性