对于嵌入式开发人员来说,一个棘手的话题是如何对他们的嵌入式系统进行版本控制。每个嵌入式系统都有两个需要版本控制的主要系统,硬件和软件,虽然对系统进行版本控制听起来很简单,但在对系统进行版本控制的最佳方式上可能会令人困惑。在这篇文章中,我们将研究对嵌入式系统进行版本控制的五个技巧。
技巧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 仅在将错误修复应用于软件时才会增加。
使用这种语义模式进行版本控制将使任何软件嵌入式开发人员都能理解版本控制。