開発環境
重要
これは Azure Sphere (レガシ) のドキュメントです。 Azure Sphere (レガシ) は 2027 年 9 月 27 日に 再提供されておりユーザーは現時点で Azure Sphere (統合) に移行する必要があります。 TOC の上にある Version セレクターを使用して、Azure Sphere (統合) のドキュメントを表示します。
Windows 11、Windows 10 Anniversary Update (またはそれ以降)、または 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 コマンド ライン インターフェイス (CLI)。
Tutorials最初のアプリケーションのビルドとデプロイについて説明します。 また、Azure Sphere ハードウェアをプログラミングし、API を使用する方法を示すサンプル アプリケーションを含む サンプル リポジトリが GitHub に用意されています。
Azure Sphere Application Runtime
Azure Sphere Application Runtime には、高度なアプリケーション開発に、2 セットのライブラリ (ベース API と Applibs API) が用意されています。 base 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 headers と Sysroots\API set\usr\include\sys という 2 つのフォルダーにあります。低レベルのシステム依存 API ヘッダーの場合は sysroots\API セットです。 一般的な API を使用することをお勧めします。
ツール
Azure Sphere SDK には、デバイスの管理、アプリケーションの開発とデプロイ、クラウド サービスの操作のための Azure Sphere CLI が含まれています。
CMake は、軽量の Ninja ビルド ユーティリティと共に、Azure Sphere アプリケーションのビルド調整を提供します。 Visual Studio を使用すると、CMake と Ninja が自動的にインストールされます。 Visual Studio Code または Azure Sphere CLI を使用する場合は、 Windows または Linux にインストールする必要があります。
Visual Studio と Visual Studio Code の両方に、Azure Sphere アプリケーション開発を簡略化する Azure Sphere 拡張機能があります。 これらの拡張機能を使用すると、IDE から直接 Azure Sphere アプリケーションを簡単にビルド、デバッグ、テスト、デプロイできます。 どちらの拡張機能も、Azure Sphere の CMake ツールを完全にサポートしています。
Containers
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 がインストールされているホスト コンピューターにアプリケーション ビルドの出力をコピーし、アプリケーションをデバイスにサイドロードできます。 カスタム ビルド コンテナーは、通常は対話形式で使用されませんが、ビルドの問題を診断する場合などに使用できます。