來源:Digikey 作者:Kenton Williston 在工業自動化和醫療保健等應用領域,大部分現有基礎設施都以 Windows 為基礎。開發人員若要為這些領域開發低功耗、低成本邊緣設備,Windows onArm® 就是一個顯而易見的選擇,原因是該系統可將 Windows 平臺引入高效的 Arm 架構。 然而,在 Arm 系統上創建 Windows 時,一個主要挑戰是缺乏合適的開發套件。盡管操作系統 (OS) 早已應用于各種板級物聯網 (IoT) 和嵌入式計算系統,但在開始編碼之前,這些產品通常需要大量的硬件工程。 開發人員需要一種盒式 PC 型解決方案,其中預裝了 Windows on Arm 并集成了應用程序開發工作所需的全部組件。這樣將減少設置時間和復雜性,讓開發人員能夠專注于應用程序開發和測試,而不必擔心初始軟件安裝和配置。 本文說明了促使采用 Windows for Arm 的操作系統選擇標準,并回顧了可供考慮的不同 Windows 版本。文中隨后介紹了 Advantech 的 EPC-R3720IQ-AWA12 Windows on Arm 開發套件,并說明其如何提供無縫環境來加速開發。其中包括入門提示并指出可與該套件配合使用的 Microsoft 工具。 為什么使用 Windows 而不是 Linux 或 RTOS? 在選擇操作系統時,開發人員有很多選擇,包括 Linux 和各種實時操作系統 (RTOS)。至于為何選擇 Windows 而不是這些替代方案,一個常見原因是 Windows 提供了大量的軟件和庫。對于使用傳統 Windows 基礎設施的環境來說,這是一個至關重要的考慮因素。 此外,Windows 還提供了一個成熟的開發生態系統,以及 Visual Studio 和 .NET 框架等全面的工具和應用程序編程接口 (API)。程序員可以從 C++、Python 和 Node.js 等廣泛的編程語言中進行選擇,還可以訪問 Microsoft Azure 的各種服務,快速構建復雜的功能。 Linux 也提供一些上述優勢,但配置和維護 Linux 構建版本可能需要付出巨大努力。此外,Linux 發行版本可能存在很大差異,從而給開發過程帶來了挑戰。 與 Windows 和 Linux 不同,實時操作系統 (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 加密技術有助于保護敏感數據。 該操作系統還提供企業級管理工具,可為部署的設備提供集中化支持。這些工具簡化了大規模物聯網部署的維護工作和安全性。 上述許多功能在更緊湊的 Windows IoT Core 中并不受支持。該版本適用于資源有限的輕型單用途設備。其中取消了圖形用戶界面等功能,也不支持傳統 Win32 應用程序,因此更適合作為復雜設備的配套操作系統。 相反,標準 Windows Pro 提供豐富的功能集,但無法針對物聯網部署進行定制。此外,標準版也不對長壽命設備提供 LTSC 支持。 為何要使用 Windows on Arm? 過去,Windows 操作系統依附于 x86 架構。如今,該操作系統也可以在 Arm 處理器上運行,而這種選擇開辟了新的設計可能性。 Windows on Arm 的主要優勢在于效率。Arm 處理器以低功耗著稱,因此非常適合電池供電設備和熱管理要求較高的應用。基于 Arm 的系統還傾向于強調成本效益,使其成為大規模物聯網部署的一個極具吸引力的選擇。 Windows on Arm 開發套件快速入門 如上所述,Windows on Arm 的缺點之一是缺少現成可用的硬件。EPC-R3720IQ-AWA12 通過提供預裝 Windows 10 IoT 的盒式 PC 解決了這一問題。 如圖 1 所示,該開發套件封裝在一個 174 x 108 x 25 mm 的堅固外殼中。這個外殼可容納安裝支架,并且能根據需要進行現場部署。 圖 1:EPC-R3720IQ-AWA12 是一款由 Arm 處理器驅動的緊湊型盒式 PC,該處理器可運行 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 卡插槽進行擴展。在連接性方面,該開發套件提供雙千兆位以太網 (GbE) 端口、一個 USB 2.0 端口、一個 USB 3.2 Gen 1 端口、一個 HDMI 端口和一個支持 CAN FD 的串行端口。 設置開發套件 EPC-R3720IQ-AWA12 開發套件的設置過程非常簡單。下面將從基本設置開始羅列出關鍵步驟: 1、顯示器、鍵盤和網絡應分別通過 HDMI、USB 和以太網端口進行連接。 2、該開發套件會在首次啟動時自動啟動 Windows 10 IoT 設置流程。此操作完成后,用戶將看到 Windows 桌面環境。 3、用戶必須從 Microsoft 網站下載并安裝 Visual Studio,以設置開發環境。在安裝過程中,用戶必須選擇開發 Windows IoT 應用程序和任何其他必要工作負載(如 .NET 或 UWP)所需的組件。 4、任何所需的軟件開發套件 (SDK) 和運行時均應進行安裝。例如,如果需要 .NET 6 或 .NET 7,應從 Microsoft 開發人員門戶網站或通過 Visual Studio 的安裝程序下載相應的運行時。 5、安裝必要的工具后,應針對 Windows IoT 開發配置 Visual Studio,確保安裝了正確版本的 Windows SDK 和工具。 根據應用需要,可能還需要其他配置: 1、如果需要無線網絡,應將天線連接到開發套件的內置連接器上。為實現蜂窩連接,應配置并安裝 SIM 卡。 2、通過 M.2 插槽或其他 I/O 端口連接的任何外設均應進行測試,確保為這些外設安裝了必要的驅動程序和軟件。 3、如果應用程序涉及云連接,則必須配置相應的 Azure IoT Hub 或其他云服務。這包括設置 Azure 賬戶、使用 Azure 創建資源以及配置開發套件以與這些資源通信。 現在,用戶可以繼續進行應用程序開發和部署。若要進行開發,首先可以通過在 Visual Studio 中創建一個新項目或打開一個現有項目。應用程序可以直接在設備上進行開發、運行和測試。 如果用戶計劃從開發 PC 遠程調試應用程序,則應設置遠程調試。這包括在開發套件和 PC 上配置遠程調試工具。 總結 Windows on Arm 為復雜的物聯網設備提供了許多引人注目的優勢。EPC-R3720IQ-AWA12 開發套件為開發人員提供了一種為該操作系統創建應用程序的快速途徑,并且在某些情況下,硬件還可以直接用于部署。如本文所述,開發套件的入門過程非常簡單,開發人員只需進行最少的設置,即可開始應用程序開發。 |