文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

对嵌入式系统进行版本控制的五个技巧

2024-12-02 05:18

关注

技巧1 – 使用 GPIO 对 PCB 版本进行硬编码

并非所有系统都有两个或三个可用的空闲 GPIO 线。相反,开发人员还可以利用免费的模数 (ADC) 通道并使用模拟电压来表示版本号。在这种情况下,单个 ADC 通道可以连接到电阻桥的中点,其中一个电阻连接到 VCC,另一个连接到地。在这种情况下,将调整电阻值以提供与版本号相关联的特定电压。对于低功率应用,开发人员希望选择足够大的电阻值,以防止任何大的寄生电流通过电路。

技巧2 – 使用 Major.Minor.Patch 语义

开发人员可以使用多种不同的方法对他们的嵌入式软件进行版本控制。不过,应该采用并适合大多数软件开发团队使用的系统是 MAJOR.MINOR.PATCH 语义。毫无疑问,你已经看到具有这些版本号的软件,例如 1.0.0、1.1.2、2.4.2 等。

由于语义定义,通用版本控制方案和对更改影响的理解一目了然。例如,MAJOR 编号仅在软件发布时 API 更改不兼容时才会增加。这意味着我们仅在代码发生不向后兼容的更改时才增加 MAJOR。仅当进行与现有 API 向后兼容的改进时,MINOR 编号才会增加。PATCH 仅在将错误修复应用于软件时才会增加。

使用这种语义模式进行版本控制将使任何软件嵌入式开发人员都能理解版本控制。

技巧3 – 创建一个 version.h 模块

创建一个包含 Major.Minor.Patch 语义以及版本日志的 version.h 模块是最有效的软件版本控制方法。可以使用宏定义轻松设置软件的版本号,例如:

开发人员甚至可以设置允许运行软件的最低硬件版本:

#define HARDWARE_VERSION_MIN (4)

version.h 模块的一个重要部分不仅是对软件进行版本控制,而且还包括版本日志。这可以使用注释来完成,并且应该包括以下信息:

技巧4 – 尽可能避免模块和函数版本控制

嵌入式应用程序的版本控制方式完全取决于嵌入式开发团队,但建议尽可能避免模块和功能级别的版本控制,意思是不将版本号分配给单个 C 模块或其中的函数。这样做的原因是它为版本控制增加不必要的开销,这也提高了版本控制信息出错的可能性。

例如,如果对一个 Dio_Write 函数进行了更改,不增加该函数的版本号。更新 Dio_Write 所在组件的版本号,这可能是 Dio.c,也可能是驱动程序组件,它是特定微控制器驱动程序的集合。如果对功能进行版本化,还必须对模块、组件和软件进行版本化,可能会忘记在某个地方更新它,然后这些更改就会丢失。最好避免在如此低的级别进行版本控制。

技巧5 – 将 VCS 与你的 IDE 集成

版本控制软件的一个重要方面是该软件如何集成到版本控制系统 (VCS) 中。目前最流行的 VCS 是 git,但一些开发团队仍在使用 svn 和 mecurial。在对软件进行版本控制时,确保将 VCS 功能集成到开发环境中以使提交更改变得简单和容易,这一点至关重要。例如,许多 VCS 插件将允许开发人员单击一个按钮,他们将添加任何新的更改到推送。他们还会弹出一个对话框,让开发人员有机会评论他们所做的更改,这是复制在 version.h 中记录的更改并将它们粘贴到 VCS 日志中的绝佳机会,这样软件和 VCS 之间的所有版本信息都匹配!

结论

对嵌入式系统进行版本控制并不一定很复杂。事实上,你对系统进行版本控制越简单,使用错误版本的硬件或软件而出现混淆或问题的可能性就越小。嵌入式开发人员可以利用多种技巧来简化版本控制,例如使用集成版本日志和基于硬件的版本控制。无论采用什么系统,成功的唯一方法是相关开发人员采用严格的版本控制方法,并且在提交软件时不要偷工减料。


来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯