開発環境

Azure Sphere のアプリケーションは、Windows 11、Windows 10 Anniversary Update (またはそれ以降)、または Ubuntu 24.04 (プレリリース)、Ubuntu 22.04 LTS、または Ubuntu 20.04 LTS を実行している Linux マシンで開発できます。 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 には、次の主要なコンポーネントが含まれています。

  • 特定の API セットを対象とするアプリケーションのコンパイルとリンクに使用されるライブラリ、ヘッダー ファイル、およびツールを含む Sysroot。
  • ハードウェア定義。これは、さまざまなハードウェア デバイスで使用できるハードウェア機能を記述し、app-manifest.json ファイルでこれらを指定するために使用できます。
  • CMake に対する Azure Sphere 拡張機能を定義する CMakeFiles。
  • Azure Sphere Command-Line インターフェイス (CLI)

チュートリアルでは、最初のアプリケーションのビルドとデプロイについて説明します。 また、Azure Sphere ハードウェアをプログラムし、API を使用する方法を示すサンプル アプリケーションを含むサンプル リポジトリを GitHub に提供しています。

Azure Sphere アプリケーション ランタイム

Azure Sphere Application Runtime には、基本 API と applibs API という、高度なアプリケーション開発用の 2 つのライブラリ セットが用意されています。 基本 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 for general API ヘッダーと Sysroots\API set\usr\include\sys の 2 つのフォルダーにあります。低レベルのシステム依存 API ヘッダーの場合は Sysroots\API set\usr\include\sys です。 一般的な API を使用することをお勧めします。

ツール

Azure Sphere SDK には、デバイスの管理、アプリケーションの開発とデプロイ、クラウド サービスの操作のための 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 拡張機能があります。 これらの拡張機能を使用すると、IDE から直接 Azure Sphere アプリケーションを簡単にビルド、デバッグ、テスト、デプロイできます。 どちらの拡張機能も、Azure Sphere の CMake ツールを完全にサポートしています。

コンテナー

Azure Sphere には、スタンドアロンの Linux 環境に SDK をパッケージするコンテナーが用意されています。 事前に定義されたビルド環境でコンテナーを使用すると、正しい SDK ビルド環境をインストール (またはアンインストールしてから再インストール) する手順を回避できます。 独自のニーズに合わせてビルド環境を変更し、その環境をすべてのホスト マシンに同時にレプリケートし、一様な結果を得ることができます。 詳細については、「 コンテナーを使用して Azure Sphere アプリをビルド する」を参照してください。 また、コンテナーを継続的インテグレーション シナリオの一部として使用することもできます。このシナリオでは、基になるコードに変更が加えられるたびに、GitHub Actionsや Azure Pipelines などのビルド パイプラインによってアプリケーションが自動的に再構築されます。 詳細については、「 コンテナー ビルドに継続的インテグレーションを追加する 」を参照してください。

コンテナーとは

コンテナーは、ホスト マシンのカーネルで実行される独自の軽量環境に付属する移植可能なパッケージです。 コンテナーは共有レイヤーを使用するため、軽量です。 これらのレイヤーは、オペレーティング システムまたは共有アプリケーションの共有スライスにすることができます。 レイヤーは、オペレーティング システム全体とすべての関連アプリケーションを含む仮想マシンのオーバーヘッドを回避します。 共有を使用すると、コンテナーを小さくしてすぐに起動できます。

コンテナー は、Microsoft アーティファクト レジストリ (MAR) などのコンテナー レジストリからダウンロードできます。

Azure Sphere に持ち込むコンテナー

Microsoft Azure Sphere SDK ビルド環境のコンテナーには、事前に作成された開発環境が用意されています。 コンテナーには、次のものが用意されています。

  • 現在の Azure Sphere リリースの Ubuntu Linux のバージョン
  • Azure Sphere SDK for Linux の現在のバージョン
  • CMake や Ninja などの SDK に必要なその他のツール

Azure Sphere では、 Dockerfile テキスト ファイルで構成された Docker コンテナーが使用されます。 基本コンテナー イメージを使用して、Azure Sphere アプリケーションをビルドするためのカスタム コンテナーを作成する Dockerfile を作成できます。 カスタマイズされたコンテナーを実行すると、最新の基本イメージがホスト コンピューター上にない場合はダウンロードされ、必要に応じて新しいカスタマイズされたコンテナーがビルドされ、指定されたアプリケーションがビルドされ、終了します。 その後、アプリケーション ビルドの出力を、Azure Sphere SDK がインストールされているホスト コンピューターにコピーし、アプリケーションをデバイスにサイドロードできます。 カスタム ビルド コンテナーは通常、対話形式で使用されませんが、ビルドの問題を診断する場合などです。