快速展開「Windows on Arm」開發作業
資料提供者:DigiKey 北美編輯群
2024-06-06
在工業自動化和醫療保健等應用領域,現有的基礎架構大多是以 Windows 為基礎。開發人員要針對這些領域打造低功耗、低成本的邊緣裝置時,Windows on Arm ® 無疑是理想選擇,因為可將 Windows 平台引進到高效的 Arm 架構中。
然而,建立 Windows on Arm 系統有個最大的挑戰,一直以來就在於缺乏合適的開發套件。儘管作業系統 (OS) 已經在各種板級物聯網 (IoT) 和嵌入式運算系統中使用了很長時間,但這些系統通常需進行大量的硬體工程後才能開始編碼。
開發人員需要已預載 Windows on Arm 的機盒 PC 解決方案,且將開發應用所需的所有元件整合在內。如此就可縮短架設時間並降低複雜性,以便開發人員專注在應用的開發和測試,而不必擔心軟體的初始安裝和配置。
本文將說明為何要選擇 Windows for Arm 當作作業系統,並探討有哪些不同的 Windows 版本可供考量。接著會介紹 Advantech 的 EPC-R3720IQ-AWA12 Windows on Arm 開發套件,並說明此套件如何提供順暢的開發環境來加快開發速度。也會提供開發入門小訣竅,並指出此套件可以搭配哪些 Microsoft 工具。
為何使用 Windows 而非 Linux 或 RTOS?
在挑選作業系統時,開發人員有許多選擇,包括 Linux 及各種即時作業系統 (RTOS)。選擇 Windows 而非這些替代方案,有個常見的原因就是 Windows 具有眾多可用的軟體和函式庫。對於採用傳統 Windows 基礎架構的環境來說,這是很重要的考量因素。
此外,Windows 還提供成熟的開發生態系統以及完備的工具和應用程式開發介面 (API),例如 Visual Studio 和 .NET 架構。程式設計人員有多種程式語言可以挑選,如 C++、Python 和 Node.js,並可利用各種 Microsoft Azure 服務,快速建立複雜的功能。
Linux 也具有一些類似的優點,但是 Linux 的配置和維護可能更費功夫。另外,由於 Linux 發行版本之間具有較大差異,可能會對開發過程增添挑戰。
相較於 Windows 和 Linux,RTOS 更注重效率。RTOS 通常缺少進階功能,像是豐富的圖形使用者介面 (GUI),及全功能作業系統所提供的廣大生態系統。
總而言之,如果開發人員尋求的事安全可靠、功能豐富且具備成熟開發生態的作業系統,Windows 會是非常有吸引力的選擇。但 Windows 版本眾多,瞭解其中的差異相當重要。
瞭解 Windows 選項
Microsoft 提供多種 Windows 版本。表 1 顯示不同版本之間的一些主要區別。針對 EPC-R3720IQ-AWA12,Advantech 選擇了 Windows IoT Enterprise。Windows IoT Enterprise 有個優勢在於,可相容於觸控式的通用 Windows 平台 (UWP) 以及傳統的 Win32 應用程式。此靈活性能讓開發人員依據需求挑選最適合的應用模型。
|
表 1:不同的 Windows 版本支援不同的使用場景。(表格來源:Kenton Williston,根據 Microsoft 資訊提供)
此外,Windows IoT Enterprise 還提供進階安全功能,可提高可靠性:
- 裝置鎖定功能可讓管理員限制裝置只執行授權的應用程式。
- 安全啟動功能確保裝置只能以信任的軟體來啟動。
- BitLocker 加密有助於保護敏感資料。
此外,該作業系統還提供企業級管理工具,能對部署裝置提供集中式支援。這些工具可簡化大規模 IoT 部署的維護和安全。
更精簡的 Windows IoT Core 並不支援上述許多功能。此版本適用於資源有限、用途單一的精簡型裝置。其摒棄了 GUI 等功能,亦不支援傳統 Win32 應用程式,因此更適合當作複雜裝置的配套作業系統。
相較之下,標準的 Windows Pro 版本功能更為豐富,但無法針對 IoT 部署進行客製化。此外,標準版本也未針對壽命較長的裝置提供長期維護通道 (LTSC) 支援。
為何要使用 Windows on Arm?
過去,Windows 作業系統主要綁定在 x86 架構。但如今 Windows 也能在 Arm 處理器上運行,因此開啟了新的設計契機。
Windows on Arm 的主要優勢在於效率。Arm 處理器以低功耗著稱,因此非常適合用於電池供電型裝置和注重熱管理的應用。此外,Arm 架構系統也傾向強調成本效益,因此對大規模的 IoT 部署來說,這是極具吸引力的選項。
快速開始使用 Windows on Arm 開發套件
如前所述,Windows on Arm 有個缺點在於缺乏現成可用的硬體。而 EPC-R3720IQ-AWA12 這款預裝 Windows 10 IoT 的機盒 PC,有效地解決這個問題。
如圖 1 所示,這款開發套件裝在耐用的 174 x 108 x 25 mm 機殼中。此機殼可配合安裝支架,並可依據需求在現場部署。
圖 1:EPC-R3720IQ-AWA12 屬於緊湊型機盒 PC,搭載 Arm 處理器並運行 Windows 10 IoT。(圖片來源:Advantech)
這款開發套件的核心是 NXP Semiconductors 的 MIMX8ML8DVNLZAB 系統單晶片 (SoC),其採用四核心 Arm Cortex-A53 處理器,工作頻率為 1.8 GHz (在 EPC-R3720IQ-AWA12 上為 1.6 GHz)。這款 SoC 配有 2.3 TOPS 神經處理單元 (NPU),因此非常適合在邊緣端進行人工智慧 (AI) 和機器學習 (ML) 工作負載。
此開發套件具有 6 GB 記憶體與 16 GB 儲存空間,並提供 Mini-PCIe、M.2、Micro SD 和 Nano SIM 插槽,可進一步擴充。在連接性方面,此開發套件提供兩個 Gigabit 乙太網路 (GbE) 連接埠、一個 USB 2.0 連接埠、一個 USB 3.2 Gen 1 連接埠、一個 HDMI 連接埠及一個支援 CAN FD 的序列埠。
設定開發套件
EPC-R3720IQ-AWA12 開發套件的設定過程相當簡單。以下重點列出關鍵步驟,首先是基本設定:
- 透過 HDMI、USB 和乙太網路連接埠連接監視器、鍵盤和網路。
- 首次啟動時,開發套件會自動開始 Windows 10 IoT 設定流程。設定完成後,使用者就會看到 Windows 桌面環境。
- 使用者必須從 Microsoft 網站下載並安裝 Visual Studio,以便設定開發環境。在安裝過程中,使用者必須針對 Windows IoT 應用程式的開發和其他任何必要工作負載的執行,選取所需的組件,例如 .NET 或 UWP。
- 安裝任何必要的軟體開發套件 (SDK) 與執行階段。例如,如果需要使用 .NET 6 或 .NET 7,就要在 Microsoft 開發人員入口網站或透過 Visual Studio 的安裝程式下載適當的執行階段。
- 安裝必要的工具之後,須針對 Windows IoT 的開發設定 Visual Studio,以確保安裝正確版本的 Windows SDK 及工具。
根據應用需求,可能還需進行其他配置:
- 如需無線網路,應將天線連接至開發套件內建的連接器。如需行動連線,需佈建並安裝 SIM 卡。
- 任何透過 M.2 插槽或其他 I/O 連接埠連接的周邊裝置都需經過測試,以確保這些周邊裝置都已安裝必要的驅動程式與軟體。
- 如果應用涉及雲端連線,則須配置適當的 Azure IoT Hub 或其他雲端服務。這就需要設定 Azure 帳戶、利用 Azure 建立資源,並配置該開發套件以便與這些資源進行通訊。
現在,使用者可開始開發和部署應用程式了。使用者可以在 Visual Studio 中建立新專案或者開啟現有專案,就可開始開發。應用程式可以直接在裝置上進行開發、執行與測試。
如果使用者打算從某個開發 PC 對應用程式進行遠端除錯,則應設定遠端除錯功能。這就要在開發套件和開發 PC 上配置遠端除錯工具。
結論
Windows on Arm 為複雜的 IoT 裝置帶來眾多引人注目的優勢。EPC-R3720IQ-AWA12 開發套件能讓開發人員快速建立適用於作業系統的應用程式,有時甚至可以直接使用硬體進行部署。如本文所述,開發套件能以簡易的流程讓開發人員以最少的設定步驟,展開應用程式的開發作業。
參考資料:

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。