Windows 10 ARM64平台应用程序开发入门

 2025-2-28 16:44:31     作者:杨阳     联系作者    


英创公司ESM8400工控主板可搭载Windows 10 IoT企业版操作系统构成基于ARM64的Win10平台。微软的Win10平台为用户提供了多种开发方法,客户可以根据自身需求选择用MFC或UWP开发界面程序。

本文将介绍如何开发一个简单的界面程序。

 1、开发软件安装及环境配置 

1.1 Windows开发主机 

推荐使用Visual Studio 2022在Windows 10 IoT平台上进行软件开发。同时,微软提供免费的Visual Studio 2022社区版,可以满足开发需求。用户可在微软官网获得下载链接。下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

Visual Studio 2022通过Visual Studio Installer进行安装,安装过程中需要连接到互联网。后续如果需要增加或删除相关功能,也是通过Visual Studio Installer进行。

在Window 10 IoT平台的ARM64工控主板上进行MFC程序或UWP程序开发,需要安装时,在“工作负荷中”勾选上:

1.      .NET桌面开发

2.      使用C++的桌面开发

3.      Windows应用程序开发

4.      使用C++的移动开发

1.png

在“单个组件”中勾选上:

1.      Windows 10 SDK(10.0.19041.0)

2.      带有Spectre缓解措施、适用于最新v143生产工具的C++ ATL(ARM64/ARM64EC)

3.      带有Spectre缓解措施、适用于最新v143生产工具的C++ MFC(ARM64/ARM64EC)

4.      适用于最新v143生产工具的C++ ATL(ARM64/ARM64EC)

5.      适用于最新v143生产工具的C++ MFC(ARM64/ARM64EC)

2.png

  3.png

 

1.2 ARM64工控板 

为了能够在ARM64工控板上进行在线联调,设置断点追踪等,需要在ARM64工控板上安装Visual Studio 2022 远程工具。

1、在微软官网上搜索下载ARM64的Visual Studio 2022 远程工具并安装。下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

w4.png

该工具也将放在“Win10IoT光盘资料/工具”中,或联系英创工程师获得。

w5.png

2、创建共享目录

在目标机上创建一个共享目录,用于Visual Studio将开发程序及组件部署到目标机中。这里以ESM8400为例, ESM8400用户名设置为Win10IoT,在其C盘下创建名“remotetemp”的共享目录。

w6.png

 

 2、应用程序开发 

MFC作为windows早先框架,相对成熟,有大量应用实例。Windows 10 IoT在兼容性上保证了各个版本的MFC程序(x86平台,ARM平台)都能在ARM64工控板上运行(ARM64平台MFC程序效率更高)。熟悉MFC开发的工程师能更快上手,使用原x86平台资源库更方便,将老平台程序功能移植到Windows 10 IoT上的开发进度会更快。

UWP是微软最新框架,在跨平台上更有优势,在界面设计上功能更强大。微软提供的Devices库在调用硬件接口上更加方便。UWP有沙箱化的运行机制,对权限控制更精细。

工程师应根据实际情况选择合适的开发平台。

 

2.1 MFC程序开发示例 

1、在开发主机上启动VS2022,创建新项目,选择“MFC应用”,点下一步创建。

4.png

 

2、选择基于对话框的应用程序类型,其它使用默认选项,点击完成创建工程。

5.png

 

3、在工程对话框编辑页面里,设置Static Text控件的文本为“Hello World”,点击编译,运行,即可看到程序在开发机平台上的初步样貌。

6.png

 

4、现在让程序在ARM64平台上运行,选择配置管理器。

7.png

 

5、选择活动解决方案平台,新建ARM64平台,参考当前平台配置。

8.png

9.png

 

6、右键点击工程->属性,打开工程属性页,设置远程调试的相关参数。

这里需要配置远程服务器名称(ARM64工控板的地址),填目标IP,或者目标网络名均可。

配置工作目录,和部署目录为ARM64工控板的共享目录路径。

设置“远程命令”,即应用exe的启动路径。可参考图中配置,共享目录路径+$(TargetFileName)

10.png

7、最后返回配置管理器,把ARM64的部署项勾选上。

11.png

 

8、启动ARM64工控板上远程工具,即可开始调试。

 

 

2.2 UWP程序开发示例 

1、在开发主机上启动VS2022,创建新项目,选择“通用Windows C++”,点下一步创建工程。

15.png

 

2、点击工程MainPage.xaml。打开界面编辑。

拖动TextBlock控件到界面中,并在属性栏中修改文本为HelloWorld。

也可以直接在xaml中添加如下字段。

<Grid>
<TextBlock Horizontalalignment=Center"TextWrapping="W'rap"Text="Hello World” vertica1Alignment="Center" Fontsize="36"7>
</Grid>

16.png

点击编译,运行,即可看到程序在开发机平台上的初步样貌。

 

3、现在让程序在ARM64平台上运行,选择平台ARM64

17.png

 

4、右键点击工程->属性,打开工程属性页,设置远程调试的相关参数。

这里只需要配置计算机名(ARM64工控板地址),可以点开选择<Locate…>

18.png

如果ARM64工控板的远程工具已打开,那么可以在弹出窗口中快速选择配置好网络地址。也可以手动输入ARM64工控板的地址。

19.png

 

5、ARM64工控板上远程工具启动后,即可点击调试按钮进行调试。

 

 

 3、开发调试 

3.1 启动ARM64工控板上远程工具 

从目标机Windows开始菜单,启动Remote Debugger(ARM64)

12.png

13.png

3.2 点击Visual Studio调试按钮,调试运行程序 

1、调试MFC程序示例

14.png

2、调试UWP程序示例

20.png


 4、程序自启动 

Windows 10 IoT下设置程序自启动和Windows一样,以下介绍最简单的方式。

4.1 MFC程序自启动 

1、找到ARM64工控板里要自启动的exe,右键点击,创建快捷方式。

21.png

2、将快捷方式拷贝到ARM64工控板系统自启动目录。在ARM64工控板系统里,按 Win + R 输入 shell:startup,即可打开当前用户的启动文件夹‌。

22.png

3、重启测试程序是否自启动成功。

 

4.2 uwp程序自启动 

1、在ARM64工控板系统里,按 Win + R 输入 shell:appsfolder,打开系统应用列表‌,找到要自启动的App,右键点击,创建快捷方式。

23.png

2、将快捷方式拷贝到ARM64工控板系统自启动目录。在ARM64工控板系统里,按 Win + R 输入 shell:startup,即可打开当前用户的启动文件夹‌。

22.png

3、重启测试程序是否自启动成功。