1. gzyueqian
      13352868059

      嵌入式開發:對嵌入式系統進行版本控制的5個技巧

      更新時間: 2022-03-17 10:36:41來源: 粵嵌教育瀏覽量:9742

        對于嵌入式開發人員來說,一個棘手的話題是如何對他們的嵌入式系統進行版本控制。每個嵌入式系統都有兩個需要版本控制的主要系統,硬件和軟件,雖然對系統進行版本控制聽起來很簡單,但在對系統進行版本控制的最佳方式上可能會令人困惑。在這篇文章中,我們將研究對嵌入式系統進行版本控制的五個技巧。


        技巧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 VERSION_MAJOR (1)

        #define VERSION_MINOR (0)

        #define VERSION_PATCH (0)


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

        #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 之間的所有版本信息都匹配!


        結論


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

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲国产aⅴ精品一区二区久久 | 色五月婷婷丝袜高清有码 | 在线免费国产精品 | 又爽又黄又无遮挡的视频在线观看 | 在线亚洲欧美日本专区 | 伊人久久综合热线大杳 |