旁加载用于测试的应用程序映像包

在开发过程中,可能需要将映像包旁加载到 Azure Sphere 设备上进行测试。 使用 Visual Studio 或Visual Studio Code集成开发环境 (IDE) 生成应用程序时,SDK 会为你打包应用程序映像。 如果可以直接访问 Azure Sphere 设备,SDK 还可以删除未 标记为合作伙伴的现有应用程序,将新的映像包加载到设备上,启动它并启用调试。 还可以直接从命令行旁加载映像包。

必须先为设备启用 appDevelopment 功能,并将设备添加到不支持云应用程序更新 的设备组 。 将设备分配到此类组可确保旁加载的应用程序不会被云部署覆盖。 若要准备设备,请使用 az sphere device enable-development 命令。 然后,可以旁加载映像。

从命令行旁加载和调试映像包

若要从命令行旁加载映像包,请删除设备上的任何现有应用程序,然后加载新应用程序。

若要停止并删除设备上的所有应用程序,请执行以下操作:

az sphere device sideload delete

若要删除单个应用程序,请添加 --component-id 选项,如下所示:

az sphere device sideload delete --component-id <ComponentID>

接下来,旁加载新的映像包:

az sphere device sideload deploy --image-package <imagepackagepath>

imagepackagepath 替换为映像包的路径。 如果使用 Visual Studio 或 Visual Studio Code,可以在应用程序项目文件夹的 bin\ARM\Debug 或 bin\ARM\Release 子文件夹中找到映像包。 默认情况下,命令在部署应用程序后启动它。

若要调试应用程序,请将 --manual-start 标志添加到 az sphere device sideload deploy 命令以禁止自动启动,然后启动应用程序进行调试:

az sphere device sideload deploy --manual-start --image-package <imagepackagepath>
az sphere device app start --debug --component-id <ComponentID>

命令显示高级应用程序的输出和调试端口:

   Output Port: 2342
   GDB Port: 2345

将应用程序标记为合作伙伴

相关应用程序应标记为合作伙伴应用程序。 在许多情况下,你将加载多个应用程序,例如一对相互通信的高级实时应用程序。 将应用程序标记为合作伙伴可防止在加载第二个应用程序时删除其中一个应用程序。 当 Visual Studio 和 Visual Studio Code IDE 旁加载新的映像包时,它们会删除未标记为合作伙伴应用程序的任何现有应用程序。

若要在 Visual Studio 中使用 CMake 将应用程序标记为合作伙伴,请执行以下操作:

  1. 编辑应用程序的 launch.vs.json 文件。

  2. 添加以下行:

    "partnerComponents": [ "<Component ID>" ]
    

    将合作伙伴应用程序的组件 ID 替换为 <Component ID> 并保存文件。 可以在其 app_manifest.json 文件中找到每个应用程序的 组件 ID ,也可以使用 az sphere device image list-installedaz sphere device app show-status 找到。

若要在 Visual Studio Code 中使用 CMake 将应用程序标记为合作伙伴,请执行以下操作:

  1. 编辑应用程序的 .vscode\launch.json 文件。

  2. 添加以下行:

    "partnerComponents": [ "<Component ID>" ]
    

    将合作伙伴应用程序的组件 ID 替换为 <Component ID> 并保存文件。 可以在其 app_manifest.json 文件中找到每个应用程序的 组件 ID ,也可以使用 az sphere device image list-installedaz sphere device app show-status 找到。