ARM64工控主板的Win10应用程序交叉开发调试环境

 2025-1-10 17:54:21     作者:刘乾坤     联系作者    


英创公司推出的ESM8400是支持Windows 10 IoT企业版操作系统的ARM64工控主板,充分利用了ARM和Windows系统各自的优势,具有名片尺寸、超低功率、无需散热风扇、能在-40℃~80℃的环境温度稳定工作等诸多优点。

 ESM8400支持Windows各种常用的应用开发框架,您可以选择微软最新的WinUI,或支持XAML的WPF,抑或微软的通用应用开发平台UWP,也可选择传统的WinForms或MFC,甚至Qt进行应用程序开发。本文将以最简单的Windows控制台程序为例,说明如果在常规x64 PC上搭建Windows ARM64应用程序交叉开发环境,以及如何跨平台远程调试Windows ARM64应用程序。

w.png

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

软件开发环境需要分别在开发主机上安装Visual Studio 2022用于应用程序开发,在ESM8400上安装Visual Studio 2022远程工具以支持应用程序远程调试。 

1.1 Windows开发主机 

Visual Studio 2022的安装需要开发主机能连接到互联网,运行“Win10IoT光盘资料/工具”下的VisualStudioSetup.exe开始安装Visual Studio,或直接从这里下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux选择下载VisualStudioSetup.exe。Visual Studio 2022社区版/专业版/企业版都可用于ESM8400 Windows应用开发,下面以Visual Studio 2022社区版为例说明安装中需要特别注意的地方。 

1、选择所需要的工作负荷,这里选择“.NET桌面开发”和“C++桌面开发”。 

w2.png

2、开发ESM8400对应的Windows 10 ARM应用程序,必须选择以下组件: 

√ Windows 10 sdk(10.0.19041.0) 

√ MSVC v142 – VS 2019 C++ ARM64生成工具(v14.29-16.11) 

√ MSVC v142 – VS 2019 C++ ARM64 Spectre缓释库(v14.29-16.11) 

√ ARM64远程调试器 

w3.png

1.2 目标机ESM8400 

1、安装Visual Studio 2022 远程工具。 

借助 Visual Studio 2022 远程工具,可以ESM8400上执行应用部署、远程调试、远程测试、性能分析和单元测试。将“Win10IoT光盘资料/工具”下的VS_RemoteTools.exe拷贝到ESM8400中运行安装,或从这里下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux选择下载ARM64的Visual Studio 2022 远程工具。 

w4.png

w5.png


 2、创建共享目录 

在ESM8400上创建一个共享目录,确保开发主机能够访问,同时具有读写权限。这里ESM8400 Windows系统用户名设置为Win10IoT,在其C盘下创建名为“remotetemp”的共享目录。

w6.png

开发主机需要能访问ESM8400的共享目录,并能进行文件上传下载


为了避免后续使用远程调试、远程桌面等遇到权限问题,建议给系统用户增加密码。同时有可能需要关闭Windows开发主机和ESM8400 Windows的防火墙。

为了方便应用开发,可以启用ESM8400 Windows远程桌面:

https://www.emtronix.com/article/article20241312.html 

2、应用程序开发 

建立好ESM8400工控主板开发所需的软硬件环境后,用户就可以通过VS2022开发、调试自己的应用程序了。对于VS2022的使用,请参考相关资料及书籍,此处不再多述。下面就如何开发、调试基于ESM8400的应用程序进行简要说明。 

2.1  创建控制台程序Hello World 

1、在开发主机上启动VS2022,创建控制台应用程序ConsoleApplication1

w7.png

2、打开所创建工程的配置管理器,为工程添加ARM64平台,并勾选部署。 

w8.png

w9.png

w10.png

3、打开工程属性页,平台工具集选择Visual Studio 2019(v142)后点应用。

w11.png

4、在工程属性页继续配置远程Windows调试器。 

w12.png

需要设置的项目如下: 

项目

内容

说明

远程命令

c:\remotetemp\$(TargetFileName)

远程目标计算机上执行的命令,这里启动exe

工作目录

c:\remotetemp

之前在ESM8400上创建的共享目录,开发主机需要有读写权限

远程服务器名称

Win10IoT

ESM8400的计算机名

连接

选择“带Windows身份验证的远程访问”

认证方式,需要与ESM8400上远程调试器的设置一致

部署目录

c:\remotetemp

与远程工作目录一致


2.2  ESM8400目标机设置 

1、从目标机Windows开始菜单,启动Remote Debugger(ARM64),为了方便调试,可将Remote Debugger设置为开机自动启动。 

w13.png

2、打开Visual Studio 2022远程调试器“工具”菜单,选择身份验证模式为“Windows身份验证”(需要和开发主机上的远程调试器设置一致)后点确定。 

w14.png

2.3  在开发主机上进行调试 

1、在开发主机VS2022工程中设置断点,点“远程Windows调试器”启动部署与调试。 

w15.png

2、初次启动调试,需要输入连接凭证。输入ESM8400 Windows用户名“Win10IoT”和密码,勾选“记住我的凭证”。(本例中ESM8400 Windows计算机名和用户名都设置为Win10IoT) 

w16.png

3、在VS2022中按F5启动调试后,VS2022会自动将相关文件部署到先前配置的Win10IoT目标机的remoteTemp目录中,同时会在ESM8400上打开控制台窗口。

w17.png

4、在VS2022中继续按F10执行下一步,目标机控制台窗口将打印输出Hello World! 至此,ESM8400 Windows ARM64原生应用程序开发的整个开发环境搭建,以及应用程序的远程调试配置就已完成。

w18.png