持續集成(Continuous Integration(CI))和持續交付(Continuous Delivery(CD))是現代軟體開發中兩個非常重要的概念,集成是完成交付和部署的前置條件,實作持續交付最大的難點是如何配置正確的持續集成流程,目前,在服務器以及Web系統上的軟體進行部署比較簡單,但在嵌入式系統上持續集成則成為了較為棘手的問題,
1.嵌入式系統的持續集成
軟體開發程序中,開發方式及開發工具是至關重要的,在嵌入式開發時,嵌入式系統的仿真往往在硬體開發中被忽略:開發人員在開發程序中不進行版本管理,直接將現有的原始碼作為下一輪迭代的基礎;若未經過測驗,當程式出現bug時,想要回退到之前的版本便較為復雜,開發嵌入式軟體時構建持續集成流程的必要性顯而易見,
持續集成流程如下圖所示:創建一個單獨的開發分支,用于在原始碼提交后進行集成;創建另一條分支用于異步執行主要持續集成流,

▲圖 1:嵌入式仿真軟體持續集成流程圖
該流程的目的是將提交代碼、集成代碼以及構建的基本開發流與主要持續集成流分開,避免因長時間的持續集成而耽誤開發進度,
?
2.解決硬體問題的工具
目前,嵌入式系統持續集成的核心是需要一個“類生產環境”,指需要在確保無限接近真實的環境中穩定運行軟體,然而,實際操作中存在諸多問題:硬體的開發周期過長、軟體不穩定等,
嵌入式仿真軟體的出現解決了以上問題,該平臺與真實環境足夠接近,可以運行真實代碼進行功能測驗,
代碼運行的問題解決后,嵌入式仿真軟體持續集成的下一部分內容,就是確保代碼獲得合理的輸入內容,嵌入式仿真軟體不僅涉及與其他代碼、計算機系統間的通信,還涉及通過介面和其他環境間的通信,測驗時需要通過真實系統中使用的硬體介面向被測系統發送資料,因此,嵌入式系統的實際物理測驗環境需要滿足以下需求:
1.提供合適的硬體環境來進行測驗;
2.將軟體加載到硬體上——難度取決于軟體堆疊的性質;
3.集成環境——搭建合理的硬體環境,并能夠提供合理的激勵,保證軟體能像在真實環境中一樣運行,并觀察運行情況,
典型的集成環境如下所示:

▲圖 2:典型集成環境
模擬硬體系統的仿真平臺可將外部環境模擬和虛擬硬體系統的平臺模型結合,方便開發人員將整個系統環境仿真成可以在任何服務器或者PC機上運行的軟體作業,測驗系統的可用性得到了提升,測驗進度也得到了保障,
3.國產仿真平臺推薦
SkyEye(天目全數字實時仿真軟體),是基于可視化建模的硬體行為級仿真平臺,軟體工程師能通過可視化圖形的硬體建模方式,快速搭建硬體模型,并在硬體模型上運行和除錯與真實硬體相同的二進制檔案,并支持自動化測驗,可大大縮短產品研發周期,提高軟體除錯效率,

▲圖 3:SkyEye硬體仿真平臺
SkyEye自動化測驗功能一般是通過SkyEye命令列工具來運行的,在運行SkyEye命令列模式時,配置引數可以自動加載當前目錄下測驗用例中的自動化測驗腳本,完成自動化測驗,
開發人員可以按照撰寫自動化測驗腳本 --> 運行單個自動化測驗腳本 --> 批量運行自動化測驗腳本的順序,一步步為多測驗工程構建自動化測驗,此外,在SkyEye命令列模式下,還有查看仿真資訊、注入故障、除錯代碼等功能,

▲圖 4:自動化測驗執行程序
4.總結
仿真不僅可以模擬出現實中難以引發的復雜場景,還可以仿真現實場景中發生的例外情況進行除錯,在實驗室中使用硬體測驗可能會受到硬體資源局限性的限制,但只要將真實環境、物理仿真環境與基于軟體的仿真相結合,便能構建豐富的測驗環境,獲得與測驗真實電子部件同樣的結果,將硬體和軟體結合的最終驗證測驗是必不可少的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/502645.html
標籤:其他
下一篇:動作捕捉系統用于下肢外骨骼開發
