偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

對(duì)嵌入式系統(tǒng)進(jìn)行版本控制的五個(gè)技巧

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

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

技巧1 – 使用 GPIO 對(duì) PCB 版本進(jìn)行硬編碼

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

技巧2 – 使用 Major.Minor.Patch 語(yǔ)義

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

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

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

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

創(chuàng)建一個(gè)包含 Major.Minor.Patch 語(yǔ)義以及版本日志的 version.h 模塊是最有效的軟件版本控制方法??梢允褂煤甓x輕松設(shè)置軟件的版本號(hào),例如:

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

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

#define HARDWARE_VERSION_MIN (4)

version.h 模塊的一個(gè)重要部分不僅是對(duì)軟件進(jìn)行版本控制,而且還包括版本日志。這可以使用注釋來(lái)完成,并且應(yīng)該包括以下信息:

  • 軟件版本
  • 模塊已更改
  • 對(duì)模塊的更改

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

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

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

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

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

結(jié)論

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


責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2022-03-11 15:44:11

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

2022-02-19 22:47:46

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

2022-02-15 21:42:23

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

2010-06-09 18:04:26

2010-03-26 11:23:59

無(wú)線嵌入式控制技術(shù)

2021-10-26 21:50:10

Rust嵌入式開發(fā)

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-08-21 15:33:56

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

2009-06-26 16:18:40

Windows Emb

2022-02-23 23:38:48

嵌入式系統(tǒng)

2021-12-19 22:34:45

Linux容器系統(tǒng)

2011-04-14 10:33:05

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

2016-12-27 09:24:13

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

2011-04-14 15:14:36

嵌入式操作系統(tǒng)嵌入式

2022-01-10 23:43:50

嵌入式軟件開發(fā)工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)