“Windows on Arm”开发快速入门
2024年06月20日 18:00 发布者:eechina
来源: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 开发套件为开发人员提供了一种为该操作系统创建应用程序的快速途径,并且在某些情况下,硬件还可以直接用于部署。如本文所述,开发套件的入门过程非常简单,开发人员只需进行最少的设置,即可开始应用程序开发。