嵌入式軟件開發(fā)為什么需要DevOps?

DevOps提出至今已逾十年,作為熱門概念,DevOps近年來頻頻出現(xiàn)于各大技術(shù)社區(qū)和媒體文章中,備受行業(yè)大咖追捧。作為新一代持續(xù)集成/持續(xù)開發(fā)(CI/CD)的方法論,DevOps正被快速引入嵌入式軟件開發(fā)領(lǐng)域中。

為什么嵌入式軟件開發(fā)對DevOps的接受度越來越高?其根本原因就在于,目前暫時沒有比DevOps更能顯著降低成本、提升效率的方法了。

谷歌的DevOps研究和評估(DevOps Research and Assessment,DORA)團隊于9月29日發(fā)布了《2022年DevOps促進狀態(tài)報告》,從吞吐量(代碼變更的準(zhǔn)備時間和部署頻率的綜合)、穩(wěn)定性(恢復(fù)服務(wù)的時間和變更失敗率的綜合)和運營業(yè)績(可靠性)三個維度對受訪者進行了聚類分析,結(jié)果顯示,未使用DevOps的受訪者很少能在半年內(nèi)將軟件投入生產(chǎn),即便成功投產(chǎn),也有16%-30%的失敗率。

失敗意味著什么?根據(jù)IT軟件質(zhì)量聯(lián)盟(Consortium for IT Software Quality,CISQ)的調(diào)查顯示,2020年全美劣質(zhì)軟件成本消耗高達2.1萬億美元,每個失敗項目造成了約5000萬美元的經(jīng)濟損失。

嵌入式軟件開發(fā)&DevOps

對于嵌入式軟件開發(fā)來說,應(yīng)用DevOps并非易事。與傳統(tǒng)軟件領(lǐng)域的DevOps不同的是,嵌入式軟件開發(fā)的DevOps嚴(yán)重依賴硬件,軟硬件存在緊耦合的情況。隨著嵌入式系統(tǒng)復(fù)雜程度的直線飆升,硬件成為了掣肘嵌入式軟件開發(fā)領(lǐng)域DevOps實施的瓶頸,不僅增加了部署的成本與實踐,還有降低開發(fā)質(zhì)量的可能。對硬件進行模擬仿真成為了最佳解決方案。

天目全數(shù)字實時仿真軟件SkyEye,是基于可視化建模的硬件行為級仿真平臺,支持用戶通過拖拽的方式對硬件進行行為級別的仿真和建模,可模擬復(fù)雜嵌入式系統(tǒng)硬件。

▲ SkyEye 界面圖

基于SkyEye搭建的嵌入式系統(tǒng)虛擬化運行環(huán)境,工程師可不受物理硬件限制,隨時訪問目標(biāo)系統(tǒng),快速搭建虛擬硬件模型并提前進行開發(fā)、測試和驗證工作,實現(xiàn)高效率、高質(zhì)量的軟件交付。

基于SkyEye的DevOps痛點及應(yīng)對方法

研發(fā)周期瓶頸

選擇對硬件進行仿真模擬是盡快完成開發(fā)、縮短研發(fā)周期的有效方法,但工業(yè)軟件需要選擇滿足苛刻設(shè)計要求的最佳仿真平臺。SkyEye可進行硬件行為級仿真,是為工業(yè)軟件量身定制的仿真平臺。

仿真的準(zhǔn)確與快速

仿真的準(zhǔn)確性與速度似魚與熊掌,往往不可兼得,對于航空、航天、軌交等安全關(guān)鍵領(lǐng)域而言,準(zhǔn)確性通常更為重要。基于DevOps搭建的流水線,仿真程度越是準(zhǔn)確,開發(fā)團隊對代碼的信心就越高,軟件發(fā)布的準(zhǔn)備也會更為完備。

如需開發(fā)基于特定SoC芯片的嵌入式軟件,在無法獲得芯片實物的情況下,就可以考慮應(yīng)用SkyEye。SkyEye支持主流的嵌入式硬件平臺,可運行國內(nèi)外主流的操作系統(tǒng),對國產(chǎn)生態(tài)的支持尤為出色。通過利用基于LLVM的動態(tài)二進制翻譯技術(shù),SkyEye可使虛擬處理器在典型的桌面計算機上運行速度達到2000MIPS以上。

準(zhǔn)確性與速度可通過SkyEye實現(xiàn)兼顧。

無限次的無損測試

基于SkyEye搭建的嵌入式系統(tǒng)虛擬化運行環(huán)境,工程師可不受物理硬件限制,在不損壞實驗室、不破壞實際設(shè)備的情況下對虛擬設(shè)備進行反復(fù)的壓力測試、真空測試等——涉及安全關(guān)鍵的嵌入式硬件往往伴隨著高昂的硬件制作成本。

開發(fā)團隊可應(yīng)用SkyEye隨時訪問目標(biāo)系統(tǒng),并基于此進行無窮無盡的場景組合測試,從而加快產(chǎn)品測試速度,更大幅降低DevOps應(yīng)用成本。

與第三方語言或者模型集成

仿真平臺如無法與第三方語言或模型集成,DevOps實際的可行性就要大打折扣。SkyEye目前已實現(xiàn)與SystemC集成進行時序仿真,可與MATLAB/Simulink集成進行多領(lǐng)域協(xié)同仿真,DevOps實施的便捷性得到了有效保障。

▲ SkyEye與MATLAB連接圖

對嵌入式軟件開發(fā)領(lǐng)域而言,使用SkyEye對硬件進行高精度的仿真模擬,能夠有效規(guī)避應(yīng)用DevOps時原有硬件問題帶來的風(fēng)險,大大提高開發(fā)效率、降低開發(fā)成本。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容