不定期會看到群友討論關(guān)于軟件版本的問題,比如:
- 公司同事之間,使用的軟件版本需要統(tǒng)一嗎?嵌入式軟件工具有必要升級到最新版本嗎?老版本對電腦配置要求低一點,用老版本可以嗎?······
在嵌入式開發(fā)中,是否使用最新版本的軟件工具、是否需要統(tǒng)一軟件版本、是否用老版本軟件,需要結(jié)合具體場景和需求進行權(quán)衡。
今天我們就來結(jié)合嵌入式常見的幾個軟件(比如:Keil / IAR、VS Code 、Source Insight、VMware、Git等),簡單講講嵌入式開發(fā)工具軟件版本選擇策略。
開發(fā)團隊軟件工具版本
在嵌入式開發(fā)團隊協(xié)作中,軟件工具版本的統(tǒng)一性管理需要分層次、分場景處理。
一、必須強制統(tǒng)一軟件版本的情況
1.編譯器版本像Keil/IAR/GCC這種帶有編譯器的工具,團隊之間必須統(tǒng)一版本。
因為不同版本,即使不同小版本也可能帶來編譯結(jié)果的差異,從導致編譯結(jié)果的差異。那么就可能出現(xiàn):
同樣的源代碼,怎么你的就可以運行,而我的就有bug呢!
2.兼容性問題我們平時開發(fā)時,大家都要使用到的軟件工具中某個功能,如果跨版本,缺失這個功能,或者不兼容這個功能,那肯定不行。此時,建議團隊保持相同版本。
對于軟件版本的問題,公司團隊應建立《工具版本管理規(guī)范》,明確一些要點,比如:
- 版本變更審批流程兼容性測試標準過渡期支持策略
二、可靈活選擇軟件版本,但建議統(tǒng)一
有些工具,它對項目的“依耐性”不強,基本上不同版本之間都能用,團隊之間可以不用統(tǒng)一軟件版本。
比如J-Link 、ST-Link等這種(上位機)下載編程軟件的版本,平時就下載軟件測試用,也都兼容目前團隊使用到的芯片。
是否用最新版本
因為我分享公眾號內(nèi)容,平時都比較關(guān)注嵌入式常用的一些軟件,特別是看到有新版本,都會留意更新了些什么內(nèi)容,很多時候,還會親自下載安裝嘗鮮。
新版本有時候會引入一些bug,所以,用新版本做項目一定要【慎重】,并不一定完全適合你的項目。
軟件工具是否需要升級到最新版本?我的觀點是:
如果你做項目,沒事別瞎升級,除非你要用到新版本的一些功能。說來你們可能不信,我之前的同事(年紀有點大了)還在用 Win XP 系統(tǒng)、VC++6.0在維護升級老項目。
你們可能覺得不可思議,但這是真實存在的情況,至于為什么,相信有經(jīng)驗的讀者能明白其中原因。
如果你業(yè)余嘗鮮、瞎折騰,我還是很建議升級。說不定新版本有些好用、好玩,而且還可以提高你工作效率的新功能。
比如 Keil MDK V5.25版本新增了“代碼凸顯”功能,你覺得這個功能會提升你代碼編輯的效率,這個時候你可以嘗試升級軟件。當然,如果你是老項目,而且已經(jīng)量產(chǎn),升級之前要做好備份,并驗證其他各項功能是否有異常。