Среда разработки

Вы можете разрабатывать приложения для Azure Sphere в Windows 11, Windows 10 юбилейном обновлении (или более поздней версии) или на компьютере Linux под управлением Ubuntu 24.04 (предварительная версия), Ubuntu 22.04 LTS или Ubuntu 20.04 LTS. Если вы используете Windows 11, используйте 22.02 (или более позднюю) версию пакета SDK Azure Sphere.

  • Для Windows установите Windows SDK. Для создания, развертывания и отладки приложений в Windows можно использовать Visual Studio, Visual Studio Code или командную строку.
  • Для Linux установите пакет SDK для Linux. Вы можете использовать Visual Studio Code или командную строку для создания, развертывания и отладки приложений в Linux.

Пакет SDK для Azure Sphere включает следующие основные компоненты:

  • Sysroots, которые содержат библиотеки, файлы заголовков и средства, используемые для компиляции и связывания приложения, предназначенного для определенного набора API.
  • Определения оборудования, которые описывают возможности оборудования, доступные на различных аппаратных устройствах, и могут использоваться для их указания в app-manifest.json файлах.
  • CMakeFiles, определяющие расширения Azure Sphere для CMake.
  • Интерфейс Command-Line Azure Sphere (CLI).

В этом руководстве описано, как создавать и развертывать первое приложение. Мы также предоставляем репозиторий примеров на GitHub , включающий примеры приложений, демонстрирующих, как программировать оборудование Azure Sphere и использовать API.

Среда выполнения приложений Azure Sphere

Среда выполнения приложений Azure Sphere предоставляет два набора библиотек для разработки высокоуровневых приложений: базовые API и API applibs. Базовые API основаны на библиотеках, которые не предназначены исключительно для устройств Azure Sphere, в то время как API applibs специально предназначены для устройств Azure Sphere. Высокоуровневые приложения, созданные с помощью пакета SDK для Azure Sphere, компилируют и связываются с этими интерфейсами. Эти API-интерфейсы нельзя использовать в приложениях с поддержкой реального времени.

Файлы заголовков для базовых API устанавливаются в папки Sysroots\API set\usr\include каталога установки пакета SDK Для Azure Sphere. Файлы заголовков для API applibs устанавливаются в папку Sysroots\API set\usr\include\applibs каталога установки пакета SDK для Azure Sphere.

Совет

Стандартные заголовки POSIX C находятся в двух папках: Sysroots\API set\usr\include для общих заголовков API и Sysroots\API set\usr\include\sys для заголовков API низкого уровня, зависящих от системы. Рекомендуется использовать общие API.

Инструменты

Пакет SDK для Azure Sphere включает Azure CLI для управления устройствами, разработки и развертывания приложений, а также работы с облачными службами.

CMake вместе с упрощенной служебной программой сборки Ninja обеспечивает координацию сборки для приложений Azure Sphere. Если вы используете Visual Studio, CMake и Ninja устанавливаются автоматически. Если вы используете Visual Studio Code или Azure CLI, их необходимо установить самостоятельно в Windows или Linux.

Visual Studio и Visual Studio Code имеют расширения Azure Sphere, упрощающие разработку приложений Azure Sphere. С помощью этих расширений можно легко создавать, отлаживать, тестировать и развертывать приложения Azure Sphere непосредственно из интегрированной среды разработки. Оба расширения имеют полную поддержку средств CMake в Azure Sphere.

Контейнеры

Azure Sphere предоставляет контейнер, который упаковыв пакет SDK в автономную среду Linux. Используя контейнер с предварительно определенной средой сборки, можно избежать действий по установке (или удалению, а затем переустановке) правильной среды сборки пакета SDK. Вы можете изменить среду сборки в соответствии с собственными потребностями и реплицировать эту среду на все хост-компьютеры одновременно с одинаковыми результатами. Дополнительные сведения см. в статье Использование контейнеров для создания приложений Azure Sphere . Контейнер также можно использовать в рамках сценария непрерывной интеграции, когда конвейер сборки, например GitHub Actions или Azure Pipelines, автоматически перестраивает приложение при каждом изменении базового кода. Дополнительные сведения см. в статье Добавление непрерывной интеграции в сборки контейнеров .

Что такое контейнер?

Контейнеры — это переносимые пакеты, которые поставляются с собственными упрощенными средами, которые выполняются в ядре главного компьютера. Контейнеры являются упрощенными, так как используют общие слои. Эти слои могут быть общими срезами операционной системы или общими приложениями. Слои позволяют избежать накладных расходов на виртуальную машину, которая содержит всю операционную систему и все связанные с ней приложения. Общий доступ позволяет контейнерам быть небольшими и быстро загружаться.

Контейнеры можно скачать из реестра контейнеров, например из Реестр артефактов Microsoft (MAR).

Какие контейнеры переносят в Azure Sphere

Контейнер для среды сборки пакета SDK Microsoft Azure Sphere предоставляет предварительно созданную среду разработки. Контейнер предоставляет следующие возможности:

  • Версия Ubuntu Linux для текущего выпуска Azure Sphere
  • Текущая версия пакета SDK Azure Sphere для Linux
  • Дополнительные инструменты, необходимые пакету SDK, такие как CMake и Ninja

Azure Sphere использует контейнеры Docker , настроенные с помощью текстовых файлов Dockerfile . Вы можете создавать файлы Dockerfile, использующие базовый образ контейнера, чтобы создать пользовательский контейнер для создания приложений Azure Sphere. Запуск настраиваемого контейнера загружает последний базовый образ, если он не находится на главном компьютере, при необходимости создает новый настраиваемый контейнер, создает указанное приложение и завершает работу. Затем можно скопировать выходные данные сборки приложения на хост-компьютер, на котором установлен пакет SDK для Azure Sphere, и загрузить приложение на устройство. Пользовательский контейнер сборки обычно не используется в интерактивном режиме, но он может быть, например, для диагностики проблем сборки.