开发环境

可以在Windows 11、Windows 10周年更新 (或更高版本) ,或者在运行 Ubuntu 24.04 (预发行) 、Ubuntu 22.04 LTS 或 Ubuntu 20.04 LTS 的 Linux 计算机上开发适用于 Azure Sphere 的应用程序。 如果使用 Windows 11,请使用 Azure Sphere SDK 的 22.02 (或更高版本) 版本。

  • 对于 Windows,请安装Windows SDK。 可以使用 Visual Studio、Visual Studio Code或命令行在 Windows 上生成、部署和调试应用程序。
  • 对于 Linux,请安装 Linux SDK。 可以使用Visual Studio Code或命令行在 Linux 上生成、部署和调试应用程序。

Azure Sphere SDK 包括以下主要组件:

  • Sysroots,其中包含用于编译和链接面向特定 API 集的应用程序的库、头文件和工具。
  • 硬件定义,描述各种硬件设备上可用的硬件功能,可用于在app-manifest.json文件中指定这些功能。
  • CMakeFiles,用于定义 CMake 的 Azure Sphere 扩展。
  • Azure Sphere Command-Line 接口 (CLI)

教程将指导你生成和部署第一个应用程序。 我们还 在 GitHub 上 提供了一个示例存储库,其中包括演示如何对 Azure Sphere 硬件进行编程和使用 API 的示例应用程序。

Azure Sphere 应用程序运行时

Azure Sphere 应用程序运行时提供两组用于高级应用程序开发的库:基本 API 和 applibs API。 基本 API 基于不专门面向 Azure Sphere 设备的库,而 applibs API 专门面向 Azure Sphere 设备。 使用 Azure Sphere SDK 构建的高级应用程序,并针对这些接口进行编译和链接。 这些 API 不能用于支持实时的应用程序。

基本 API 的头文件安装在 Azure Sphere SDK 安装目录的 Sysroots\API set\usr\include 文件夹中。 applibs API 的头文件安装在 Azure Sphere SDK 安装目录的 Sysroots\API set\usr\include\applibs 文件夹中。

提示

POSIX C 标准标头位于两个文件夹中:Sysroots\API set\usr\include(常规 API 标头)和 Sysroots\API set\usr\include\sys(用于低级别依赖于系统的 API 标头)。 建议使用常规 API。

工具

Azure Sphere SDK 包括用于管理设备、开发和部署应用程序以及使用云服务的 Azure CLI

CMake 与轻型 Ninja 生成实用工具一起为 Azure Sphere 应用程序提供生成协调。 如果使用 Visual Studio,则会自动安装 CMake 和 Ninja。 如果使用 Visual Studio Code 或 Azure CLI,则必须在 WindowsLinux 上自行安装它们。

Visual Studio 和 Visual Studio Code都有 Azure Sphere 扩展,可简化 Azure Sphere 应用程序开发。 使用这些扩展,可以直接通过 IDE 轻松生成、调试、测试和部署 Azure Sphere 应用程序。 这两个扩展都完全支持 Azure Sphere 的 CMake 工具。

容器

Azure Sphere 提供了一个容器,用于将 SDK 打包到独立的 Linux 环境中。 通过将容器与预定义的生成环境配合使用,可以避免安装 (或卸载然后重新安装) 正确的 SDK 生成环境的步骤。 可以修改生成环境以满足自己的需求,并将该环境同时复制到所有主机,并生成统一的结果。 有关详细信息 ,请参阅使用容器生成 Azure Sphere 应用 。 还可以将容器用作持续集成方案的一部分,在该方案中,每当对基础代码进行更改时,生成管道(如 GitHub Actions 或 Azure Pipelines)都会自动重新生成应用程序。 有关详细信息 ,请参阅将持续集成添加到容器生成

什么是容器?

容器是可移植包,自带在主机内核上运行的轻型环境。 容器是轻型的,因为它们使用共享层。 这些层可以是操作系统或共享应用程序的共享切片。 层可避免虚拟机的开销,虚拟机包含整个操作系统和所有相关的应用程序。 共享允许容器变小并快速启动。

可以从容器注册表(如 Microsoft 工件注册表 (MAR) )下载容器。

容器为 Azure Sphere 带来的内容

Microsoft Azure Sphere SDK 生成环境的容器提供预制的开发环境。 容器提供以下内容:

  • 当前 Azure Sphere 版本的 Ubuntu Linux 版本
  • 适用于 Linux 的 Azure Sphere SDK 的当前版本
  • SDK 所需的其他工具,例如 CMake 和 Ninja

Azure Sphere 使用配置了 Dockerfile 文本文件的 Docker 容器。 可以创作使用基本容器映像创建用于生成 Azure Sphere 应用程序的自定义容器的 Dockerfile。 运行自定义容器会下载最新的基础映像(如果它不在主机上),根据需要生成新的自定义容器,生成指定的应用程序,然后退出。 然后,可以将应用程序生成的输出复制到安装了 Azure Sphere SDK 的主机,并将应用程序旁加载到设备。 自定义生成容器通常不以交互方式使用,但例如,它可以用于诊断生成问题。