自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對嵌入式系統(tǒng)進行版本控制的五個技巧

開發(fā) 前端
對于嵌入式開發(fā)人員來說,一個棘手的話題是如何對他們的嵌入式系統(tǒng)進行版本控制。每個嵌入式系統(tǒng)都有兩個需要版本控制的主要系統(tǒng),硬件和軟件,雖然對系統(tǒng)進行版本控制聽起來很簡單,但在對系統(tǒng)進行版本控制的最佳方式上可能會令人困惑。

在這篇文章中,我們將研究對嵌入式系統(tǒng)進行版本控制的五個技巧。

技巧1 – 使用 GPIO 對 PCB 版本進行硬編碼

并非所有系統(tǒng)都有兩個或三個可用的空閑 GPIO 線。相反,開發(fā)人員還可以利用免費的模數(shù) (ADC) 通道并使用模擬電壓來表示版本號。在這種情況下,單個 ADC 通道可以連接到電阻橋的中點,其中一個電阻連接到 VCC,另一個連接到地。在這種情況下,將調(diào)整電阻值以提供與版本號相關聯(lián)的特定電壓。對于低功率應用,開發(fā)人員希望選擇足夠大的電阻值,以防止任何大的寄生電流通過電路。

技巧2 – 使用 Major.Minor.Patch 語義

開發(fā)人員可以使用多種不同的方法對他們的嵌入式軟件進行版本控制。不過,應該采用并適合大多數(shù)軟件開發(fā)團隊使用的系統(tǒng)是 MAJOR.MINOR.PATCH 語義。毫無疑問,你已經(jīng)看到具有這些版本號的軟件,例如 1.0.0、1.1.2、2.4.2 等。

由于語義定義,通用版本控制方案和對更改影響的理解一目了然。例如,MAJOR 編號僅在軟件發(fā)布時 API 更改不兼容時才會增加。這意味著我們僅在代碼發(fā)生不向后兼容的更改時才增加 MAJOR。僅當進行與現(xiàn)有 API 向后兼容的改進時,MINOR 編號才會增加。PATCH 僅在將錯誤修復應用于軟件時才會增加。

使用這種語義模式進行版本控制將使任何軟件嵌入式開發(fā)人員都能理解版本控制。

技巧3 – 創(chuàng)建一個 version.h 模塊

創(chuàng)建一個包含 Major.Minor.Patch 語義以及版本日志的 version.h 模塊是最有效的軟件版本控制方法。可以使用宏定義輕松設置軟件的版本號,例如:

  • #define VERSION_MAJOR (1)
  • #define VERSION_MINOR (0)
  • #define VERSION_PATCH (0)

開發(fā)人員甚至可以設置允許運行軟件的最低硬件版本:

#define HARDWARE_VERSION_MIN (4)

version.h 模塊的一個重要部分不僅是對軟件進行版本控制,而且還包括版本日志。這可以使用注釋來完成,并且應該包括以下信息:

  • 軟件版本
  • 模塊已更改
  • 對模塊的更改

技巧4 – 盡可能避免模塊和函數(shù)版本控制

嵌入式應用程序的版本控制方式完全取決于嵌入式開發(fā)團隊,但建議盡可能避免模塊和功能級別的版本控制,意思是不將版本號分配給單個 C 模塊或其中的函數(shù)。這樣做的原因是它為版本控制增加不必要的開銷,這也提高了版本控制信息出錯的可能性。

例如,如果對一個 Dio_Write 函數(shù)進行了更改,不增加該函數(shù)的版本號。更新 Dio_Write 所在組件的版本號,這可能是 Dio.c,也可能是驅(qū)動程序組件,它是特定微控制器驅(qū)動程序的集合。如果對功能進行版本化,還必須對模塊、組件和軟件進行版本化,可能會忘記在某個地方更新它,然后這些更改就會丟失。最好避免在如此低的級別進行版本控制。

技巧5 – 將 VCS 與你的 IDE 集成

版本控制軟件的一個重要方面是該軟件如何集成到版本控制系統(tǒng) (VCS) 中。目前最流行的 VCS 是 git,但一些開發(fā)團隊仍在使用 svn 和 mecurial。在對軟件進行版本控制時,確保將 VCS 功能集成到開發(fā)環(huán)境中以使提交更改變得簡單和容易,這一點至關重要。例如,許多 VCS 插件將允許開發(fā)人員單擊一個按鈕,他們將添加任何新的更改到推送。他們還會彈出一個對話框,讓開發(fā)人員有機會評論他們所做的更改,這是復制在 version.h 中記錄的更改并將它們粘貼到 VCS 日志中的絕佳機會,這樣軟件和 VCS 之間的所有版本信息都匹配!

結(jié)論

對嵌入式系統(tǒng)進行版本控制并不一定很復雜。事實上,你對系統(tǒng)進行版本控制越簡單,使用錯誤版本的硬件或軟件而出現(xiàn)混淆或問題的可能性就越小。嵌入式開發(fā)人員可以利用多種技巧來簡化版本控制,例如使用集成版本日志和基于硬件的版本控制。無論采用什么系統(tǒng),成功的唯一方法是相關開發(fā)人員采用嚴格的版本控制方法,并且在提交軟件時不要偷工減料。


責任編輯:華軒 來源: 今日頭條
相關推薦

2022-03-11 15:44:11

嵌入式開發(fā)技巧技術

2022-02-19 22:47:46

編程語言開發(fā)C++

2022-02-15 21:42:23

嵌入式系統(tǒng)音頻編解碼器開發(fā)

2010-06-09 18:04:26

2021-10-26 21:50:10

Rust嵌入式開發(fā)

2010-03-26 11:23:59

無線嵌入式控制技術

2022-06-30 09:01:00

嵌入式軟件技巧

2022-01-03 23:33:40

Linux組件系統(tǒng)

2018-05-02 09:18:17

Linux技巧嵌入式

2023-01-27 23:46:36

嵌入式軟件技巧

2023-11-01 11:38:44

嵌入式MVC

2020-07-03 07:00:00

Linux組件

2009-06-26 16:18:40

Windows Emb

2009-08-21 15:33:56

應用技巧嵌入式LinuxLinux操作系統(tǒng)

2022-02-23 23:38:48

嵌入式系統(tǒng)

2021-12-19 22:34:45

Linux容器系統(tǒng)

2016-12-27 09:24:13

Python系統(tǒng)開發(fā)

2011-04-14 10:33:05

PCB信號嵌入式系統(tǒng)

2022-01-10 23:43:50

嵌入式軟件開發(fā)工具

2011-04-14 15:14:36

嵌入式操作系統(tǒng)嵌入式
點贊
收藏

51CTO技術棧公眾號