以基於雲端架構的嵌入式開發作業加速IoT發展

作者 : Reinhard Keil,Arm

類似Keil Studio等基於雲端架構的嵌入式開發工具,可改善嵌入式應用的工作流程,包括從產品的評估,到模型或模擬架構的驗證。

嵌入式系統設計,是電子學中歷史最久遠、也是最為傳奇的學科之一。數十年來,部署在各個場域的數十億個嵌入式產品,已經默默地改變了這個世界。時至今日,當其他類型的軟體與應用開發已經轉戰雲端,基於雲端架構的嵌入式開發作業才剛起步,且許多嵌入式應用仍由本地的桌上型電腦產出。

其中主要的原因是嵌入式開發人員習慣用傳統開發方法避開風險:在產品上市檔期緊湊的高壓環境下,嵌入式開發人員通常不願意改變既有的工具與設計流程。另一個關鍵的原因是:驗證過程高度仰賴實體硬體,而硬體方可接到桌上型電腦。事實上,開發人員也需要在本地裝置上安裝工具,以做為硬體的介面。

隨著物聯網(IoT)的大好前景逐步展現,這種承襲數十年的開發方法,正因為雲端技術而經歷巨大的改變。類似Keil Studio等基於雲端架構的嵌入式開發工具,可協助改善嵌入式應用的工作流程,包括從產品的評估、具備持續整合流程的模型或模擬架構的驗證、機器學習的模型最佳化,一直到為裝置部署的配置。

軟體開發中的版本管理,以及像事件追蹤等相關的管理工具,已逐漸轉移到雲端。目前,對跨國企業而言,使用像GitHub等服務,比起擁有自己的IT建置與伺服器基礎設施更具經濟性。這也可促成分散式的開發團隊,或是與無法直接存取公司IT資源的其他公司合作。

雲端架構的嵌入式開發作業帶來新優勢

目前雲端架構設計潮流已經走入嵌入式,它勢必將改變嵌入式設計,並激發出新一波的創新與設計成效的浪潮。

基於雲端架構的嵌入式開發作業有四大關鍵優點:

1.具備立即可用開發工具的軟體即服務(SaaS)

不必在本地電腦上安裝整合發展環境(IDE)與相關的軟體開發環境,而改用雲端服務供應商提供的完整配置。IDE在網際網路瀏覽器中運作,而實際的編譯則在雲端伺服器上進行,速度通常會比桌機的處理速度快的多。

有了基於雲端架構的嵌入式開發作業,開發人員只需透過USB,連接來自各個半導體製造商所生產的評估板,就能使用網路瀏覽器在目標系統上立即載入、測試與改變各種樣本程式。因此,也就沒有必要安裝複雜的工具,且軟體樣本永遠維持在最新的版本。若想評估微控制器(MCU),由於配置已經隨時可用,就可大幅節省時間與精力。開發團隊也將擁有更多的彈性,選用針對開發時所使用的運算與作業系統類型。

2.已部署系統的軟體更新

目前許多裝置已可使用無線下載技術(OTA)更新,但通常仍需要與用戶的互動。OTA近來越來越自動化,也可用在像Arm Cortex-M等小型的微處理器。這能讓軟體的開發作業分階段進行,在一開始時讓搭載最基本功能的系統儘快上市,之後再透過OTA擴展功能,讓已經完成部署的產品進行除錯,並符合新的要求。如此一來,不但可以提升競爭力,未來也可能帶出全新的商業模式。

3.預測性維護的數據分析

物聯網系統透過連網到雲端的特性,將有價值的數據傳送給製造商。例如,要回報與系統有關的重要狀態參數,就可在問題發生前,找出可能導致初期系統故障的潛在問題。維護工作也因為只鎖定可能產生故障的系統,將更符合成本效益。除此之外,也要考慮到系統透過感測器接收到來自環境的作業數據。如果因此發現了在開發期間不曾考慮到的作業異常,也得以改善系統的功能性。而基於雲端架構的嵌入式開發作業可以提供足夠的運算力來應用人工智慧(AI),並分析來自廣泛既有用戶群的數據集。

4.軟體修改的持續整合(CI)

如GitHub等版本管理服務也會提供附有執行器的虛擬機器,可以執行各種測試作業。對於許多應用程式,這已是很常見的作法。嵌入式應用的問題,通常會出現在硬體上;但透過Keil Studio,將可提供基於雲端架構的強大模擬環境,以及Cortex-M眾多的子系統與I/O選擇,以利於嵌入式系統的開發作業。

一旦持續整合(CI)系統被納入流程,軟體開發人員將會接收到自動化的資訊;例如,修改的地方是否出現迴歸,或是已經正確完成整合。這會讓員工更有動力,提早找出潛在的錯誤,更快速地產出更佳品質。如此的CI流程在汽車產業已經相當普遍,但未來幾年內將擴展到整個嵌入式產業,成為普遍的作法。

事實上,當CI被視為雲端環境的一種服務,使用虛擬平台的CI測試將讓開發作業更為簡化。其優點包括:

  • 速度:虛擬平台沒有在實體硬體上快速執行應用程式的額外負載。這樣對小型與快速的單元測試,可以節省時間;
  • 規模:虛擬平台可以擴充規模來平行執行許多測試,這讓虛擬平台與實體的硬體群相比,更具成本效益;
  • 維護:虛擬平台與實體硬體不同,它不會過熱、不會因為過度使用磨損、不會因為誤用而故障,或是佔用實體的空間與資源;
  • 升級:虛擬平台可以進行調適與重新配置,以配合開發中的基礎硬體平台的對應改變。

混合的做法

雲端系統的崛起固然重要,但仍其限制,雲端系統需要網際網路連線的事實,就是其中之一。這個條件限制就無法完全滿足開發的需求,例如,軟體開發中的指令追蹤需要高頻寬,以及對數據進行即時的處理。在可預見的未來,這樣的系統仍然需要本地裝置的運算力,以及在桌上型電腦安裝工具。

因此,對於軟體開發工具,必須採取雲端與桌機混合運用的做法。例如,Keil Studio的雲端版本可以從桌機版的Keil MDK直接載入專案,反之亦然。如此一來就可提供必要的彈性,逐步轉用雲端技術。

更高效率的嵌入式開發作業已經到來

跨國企業已經擁抱雲端,並善用它的多項優點,其中包括分散式的開發團隊,以及對已安裝的裝置進行產品生命週期管理(PLM)。

搭載相關服務的創新嵌入式產品,時常得仰賴雲端運算。例如,像語音辨識等應用程式若沒有雲端運算支援,簡直無法想像該如何運作。雲端對小型公司也很有吸引力,它可以簡化他們的IT基礎建設。

物聯網邊緣裝置的雲端服務整合仍具有挑戰性,但它仍然是個具有發展前景的方法。這也是為何要利用類似PSA Certified等裝置安全性的方案,與各個產業夥伴合作,開發可以降低複雜性的軟體堆疊。

對於嵌入式系統的開發過程與功能性特性而言,雲端在未來都不可或缺;而Arm也致力於讓基於雲端的嵌入式開發作業,變得更簡單有效。

(本文作者Reinhard Keil 為Senior Director, Embedded Tools, Arm)

 

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論