Arm 主任應用工程師張富禎(左)、Arm 應用工程總監徐達勇(中)、Arm AIoT 方案資深經理黃晏祥(右)/ Photo Credit:TNL Brand Studio

【Arm 專欄】Arm 打造虛擬硬體,縮短 IoT 開發時間達 30% 

Arm 擁有完整的物聯網全面解決方案,作為全球晶片架構領導廠商, Arm 以持續維護 IoT 開發者的利益為目標,承諾在虛擬硬體( AVH )投注資源,以加速 IoT 產業發展。

隨著物聯網( Internet of Thing , 以下簡稱 IoT )一步步進入日常生活, IoT 產品的需求和應用場景也不斷增加。如果技術、創新是 IoT 產品成功的核心,在這競爭的環境下,「開發速度」就是 IoT 產品成功的指標競爭力。

Arm 虛擬硬體( Arm Virtual Hardware , 以下簡稱 AVH )以「加速開發者的開發流程」為宗旨,將硬體模擬成軟體模型,讓開發者在硬體開發完成之前,就可以先分析負載量,甚至進行初步軟體開發的驗證。 Arm 應用工程總監徐達勇表示:「使用 AVH 可以縮短開發流程一年到一年半的時間,約可減少 30% 的開發時間。」

Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

為縮短開發時間,Arm 虛擬硬體以增加 IoT 軟體開發的彈性為基礎,在雲端空間模擬 Arm 架構單晶片系統模型(以下簡稱 SoC )以及第三方開發板,使用者可虛擬擴展所需運算單位,從 Bare-metal 到 Linux 、Real-Time OS 開發環境都可執行。 Arm 希望透過 AVH ,在 IoT 軟體開發流程中,實現 CI/CD 、 DevOps 、 MLOps 等協作概念,加速 IoT 開發。

提升開發者軟體協作便利性AVH 上公有雲打造開放的 IoT 軟體開發環境

看準台灣 IoT 蓬勃發展下的大量需求, Arm 瞄準台灣的開發者,分析 IoT 的軟體及機器學習開發常遇到的問題,包含應用碎片化、軟體開發複雜度高導致開發時間增加、資安驗證難落實、 OTA 測試效率低落、硬體測試不利於機器學習模型訓練以及產品上市時間緩慢等。Arm 以 AVH 作為解決方案,以下列優勢排除阻礙,協助 IoT 開發:

  1. 軟體提前開發:不需要等到 IC 設計製造拿到測試晶片,就可以開始軟體開發
  2. 落實提前測試( Shift-left testing ):軟硬體測試一起開跑,開發過程中可同時測試運算能力,確認元件需求,並進行資訊安全等測試
  3. 高擴展彈性:從簡單的性能測試到機器學習模型訓練,都可以使用,幾秒鐘內啟動數千個虛擬開發板也不是問題

AVH 讓硬體開發中的軟體 CI/CD 變得可能。 Arm 在 2022 年宣布與 Github 等其他多個 DevOps 、 MLOps 平台合作,加強 AVH 在軟體協作上的實用性。 AVH 目前可在 AWS 和 Oracle 上取得,顯現開放的決心。 此外,AVH 以簡化開發者開發複雜度為目標,希望以協助 Arm 架構下的 IoT 軟體開發為出發點,解決過往開發者容易遇到的問題,打造一個健康的生態系。

Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

以 CPU 運算單元為單位組成彈性產品,開放第三方虛擬開發板上架 

秉持著開放的理念, Arm 除了將 SoC 以運算單元為單位提供客戶測試,也開放平台讓第三方開發板廠商上架虛擬開發板。目前在 AVH 平台上,可以看到 Cortex-M 以及 Cortex-A 的單位 CPU 虛擬模型,也有以系統為單位的模型,如 Cortex-M3 搭配 Cortex-A35 的雙核心系統,和利於通用運算和語音識別的開發場景的 Cortex-M55 及 Ethos-U55 異質整合系統模型。 Arm 以提供最小單元增加應用彈性,讓使用者自由調配所需硬體配置。

為了更符合 IoT 的測試情境, Arm 也致力於開放第三方開發板廠商上架虛擬模型,目前已有 NXP 、 STMicroelectronics 和 Raspberry Pi 將虛擬開發板上架到 AVH 平台,而 Arm 也鼓勵廠商開發並上架虛擬硬體,讓世界各地的開發者可不受空間及硬體限制,隨時可進行軟體開發,因應大量的 IoT 開發需求。

Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

AVH 模擬 CPU 及開發板端行為, 著重開發前期「行為」正確性驗證

然而,你或許會想問,虛擬硬體和實體硬體,是否還是有落差?Arm 主任應用工程師張富禎強調,「 AVH 是用來測試行為是否正確」,性能表現則需要以實體硬體測試。 AVH 並非用來取代實體硬體,而是在開發者還沒有實體硬體測試時,提供行為正確性的驗證。 AVH 是基於行之有年的 Arm Fast Models 進一步延伸,為提供 IoT 開發者更友善的虛擬硬體平台而生,張富禎表示,產品架構的正確性,已被全球廠商重複驗證過。

Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

AVH 除了模擬 CPU 的行為,同時也可以模擬板端的行為。假設開發板端有溫度感應器, AVH 會模擬其溝通的狀況,並回吐虛擬的資料。除此之外,板端的 Display 、 GPU 等元件行為也都可以模擬, AVH 也會根據元件的特性模擬其行為。如此一來,軟體工程師可在硬體開發階段,與硬體相輔相成,滾動式調整軟硬體端的需求,提升軟體開發之順暢度。

Zenoh 通信協定使用 AVH ,讓雲端開發與驗證先行

AVH 無疑提供了 IoT 軟體開發新生機,應用方式也蓬勃發展。例如由凌華科技( ADLINK )投資的法國公司 ZettaScale 在其基於 Eclipse Foundation 開源專案開發的 Zenoh 。 Zenoh 是為了解決強即時性工業用的應用場域所開發的新一代通信協定,基於 pub/sub ,以資料為中心( Data-Centric ),具有高性能、高可擴展性和去中心化全分散式架構的特點,適用於各種運算平臺,小自 MCU 大到資料中心伺服器皆可支援。它可輕易應用於各式邊緣計算( Edge Computing ),如 IoT、機器人和自動駕駛等。

Zenoh 透過 AVH 虛擬化技術,讓使用者可以輕易地創建虛擬大量節點以運行及驗證  Zenoh ,並且可以透過 AVH 進行早期 IoT 或機器人應用之開發。例如,在實際場域可能部署多部裝置,在取得硬體之前,開發者可先透過 AVH 配置出所需的虛擬裝置,並使用 Zenoh 作為通訊媒介,在雲端環境中先進行開發與驗證。

Arm 承諾持續豐富 AVH 生態鏈,邀請台灣 SoC 合作夥伴一起創造雙贏

Arm AIoT 方案資深經理黃晏祥表示, AVH 面向兩大族群,除了 IoT 軟體開發者, Arm 的 SoC 合作夥伴也可以透過 AVH 測試 IC 設計,而 ODM 和 SI 也可將開發板虛擬化上架到 AVH ,獲得曝光,更增加產品可用性。

photo credit
Photo Credit:TNL Brand Studio

未來,Arm 期望 AVH 成為一個自給自足的 IoT 開發生態系: SoC 業者可以直接將開發好的產品,製做成虛擬硬體上架到 AVH 平台,讓 IoT 開發者進一步應用,打造雙贏局面。

Photo Credit:TNL Brand Studio
Photo Credit:TNL Brand Studio

Arm 擁有完整的物聯網全面開發解決方案,作為全球晶片架構領導廠商, Arm 以持續協助 IoT 開發者的開發為目標,承諾在虛擬硬體( AVH )投注資源,以加速 IoT 產業發展。 Arm 台灣也特別針對台灣 IoT 開發者製作影片,協助開發者使用 AVH ,希望和 IoT 生態系中的每一位參與者共同推動台灣 IoT 產業向前。


AVH 第一集 - CI/CD Workflow

• 如何在 Arm Cortex-M55 處理器和 Ethos-U55 microNPU 上大規模簡化 CI。

• 如何為 IoT 系統實施 CI 測試。

AVH 第二集 - Model Conditioning and Optimization

• 開始運行 Arm Cortex-M55 處理器和 Ethos-U55 microNPU 的代碼。

• 訓練和編譯神經網路模型並在這些處理器上運行機器學習應用。

• 矽前 (Pre-Silicon) 階段的評估技術,當取得晶片後可立即進行開發工作。

AVH 第三集 - Extended AVH with Python

• 如何使用 Python 來驅動具有特定輸入的 Arm 虛擬硬體週邊設備。

• 為模型指定自訂的 Python 延伸。

• 瞭解 Python 介面的主要功能。

AVH 第四集 - From Local to Cloud Development

• 如何使用 Keil MDK 啟動您的專案。

• 進行本地開發,包括單元測試。

• 使用本地 Arm 虛擬硬體運行模擬。

• 將代碼部署到真正的硬體上。

• 使用 GitHub 構建基於雲的 CI/CD 工作流程。

AVH 第五集 - Test a Cloud Connected Application with AVH

• 如何使用 Keil Studio 和 AVH 將專案遷移到雲端。

• 在雲中運行複雜的計畫。

• 在 Keil Studio 中使用 AWS 憑證將目標部署到雲中。


 



 

最新發展: