Entwicklungsumgebung

Sie können Anwendungen für Azure Sphere auf Windows 11, Windows 10 Anniversary Update (oder höher) oder auf einem Linux-Computer mit Ubuntu 24.04 (Vorabversion), Ubuntu 22.04 LTS oder Ubuntu 20.04 LTS entwickeln. Wenn Sie Windows 11 verwenden, verwenden Sie die Version 22.02 (oder höher) des Azure Sphere SDK.

  • Installieren Sie unter Windows die Windows SDK. Sie können Visual Studio, Visual Studio Code oder die Befehlszeile verwenden, um Anwendungen unter Windows zu erstellen, bereitzustellen und zu debuggen.
  • Installieren Sie für Linux das Linux SDK. Sie können Visual Studio Code oder die Befehlszeile verwenden, um Anwendungen unter Linux zu erstellen, bereitzustellen und zu debuggen.

Das Azure Sphere SDK umfasst die folgenden Hauptkomponenten:

  • Sysroots, das die Bibliotheken, Headerdateien und Tools enthält, die zum Kompilieren und Verknüpfen einer Anwendung verwendet werden, die auf einen bestimmten API-Satz ausgerichtet ist.
  • Hardwaredefinitionen, die die auf verschiedenen Hardwaregeräten verfügbaren Hardwarefunktionen beschreiben und verwendet werden können, um diese in app-manifest.json-Dateien anzugeben.
  • CMakeFiles, die die Azure Sphere-Erweiterungen für CMake definieren.
  • Die Azure Sphere Command-Line Interface (CLI).

Die Tutorials führen Sie durch das Erstellen und Bereitstellen Ihrer ersten Anwendung. Wir stellen auch ein Beispielrepository auf GitHub bereit, das Beispielanwendungen enthält, die veranschaulichen, wie Azure Sphere-Hardware programmieren und die APIs verwendet werden.

Azure Sphere Application Runtime

Die Azure Sphere Application Runtime bietet zwei Sätze von Bibliotheken für die allgemeine Anwendungsentwicklung: die Basis-APIs und die applibs-APIs. Die Basis-APIs basieren auf Bibliotheken, die nicht ausschließlich auf Azure Sphere-Geräte ausgerichtet sind, während die applibs-APIs speziell auf Azure Sphere-Geräte ausgerichtet sind. Allgemeine Anwendungen, die mit dem Azure Sphere SDK erstellt wurden, kompilieren und verknüpfen sie mit diesen Schnittstellen. Diese APIs können nicht in Echtzeitanwendungen verwendet werden.

Die Headerdateien für die Basis-APIs werden in den Ordnern Sysroots\API set\usr\include des Azure Sphere SDK-Installationsverzeichnisses installiert. Die Headerdateien für die applibs-APIs werden im Ordner Sysroots\API set\usr\include\applibs des Azure Sphere SDK-Installationsverzeichnisses installiert.

Tipp

Die POSIX C-Standardheader befinden sich in zwei Ordnern: Sysroots\API set\usr\include für allgemeine API-Header und Sysroots\API set\usr\include\sys für systemabhängige API-Header auf niedriger Ebene. Es wird empfohlen, die allgemeinen APIs zu verwenden.

Werkzeuge

Das Azure Sphere SDK enthält die Azure CLI zum Verwalten von Geräten, Entwickeln und Bereitstellen von Anwendungen sowie zum Arbeiten mit Clouddiensten.

CMake bietet zusammen mit dem einfachen Hilfsprogramm Ninja Build die Buildkoordination für Azure Sphere-Anwendungen. Wenn Sie Visual Studio verwenden, werden CMake und Ninja automatisch für Sie installiert. Wenn Sie Visual Studio Code oder die Azure CLI verwenden, müssen Sie diese unter Windows oder Linux selbst installieren.

Sowohl Visual Studio als auch Visual Studio Code verfügen über Azure Sphere-Erweiterungen, die die Entwicklung von Azure Sphere-Anwendungen vereinfachen. Mit diesen Erweiterungen können Sie Ihre Azure Sphere-Anwendungen ganz einfach über die IDE erstellen, debuggen, testen und bereitstellen. Beide Erweiterungen unterstützen die CMake-Tools von Azure Sphere vollständig.

Container

Azure Sphere stellt einen Container bereit, der das SDK in einer eigenständigen Linux-Umgebung packt. Wenn Sie einen Container mit einer vordefinierten Buildumgebung verwenden, können Sie die Schritte zum Installieren (oder Deinstallieren und erneuten Installieren) der richtigen SDK-Buildumgebung vermeiden. Sie können die Buildumgebung an Ihre eigenen Anforderungen anpassen und diese Umgebung mit einheitlichen Ergebnissen gleichzeitig auf alle Hostcomputer replizieren. Weitere Informationen finden Sie unter Verwenden von Containern zum Erstellen von Azure Sphere-Apps . Sie können einen Container auch als Teil eines Continuous Integration-Szenarios verwenden, in dem eine Buildpipeline wie GitHub Actions oder Azure Pipelines Ihre Anwendung automatisch neu erstellt, wenn eine Änderung am zugrunde liegenden Code vorgenommen wird. Weitere Informationen finden Sie unter Hinzufügen von Continuous Integration zu Ihren Containerbuilds .

Was ist ein Container?

Container sind portable Pakete, die über eigene einfache Umgebungen verfügen, die auf dem Kernel eines Hostcomputers ausgeführt werden. Container sind einfach, da sie freigegebene Ebenen verwenden. Diese Ebenen können freigegebene Slices eines Betriebssystems oder freigegebene Anwendungen sein. Ebenen vermeiden den Mehraufwand eines virtuellen Computers, der ein gesamtes Betriebssystem und alle zugehörigen Anwendungen enthält. Mithilfe der Freigabe können Container klein sein und schnell gestartet werden.

Sie können Container aus einer Containerregistrierung wie der Microsoft-Artefaktregistrierung (MAR) herunterladen.

Was Container für Azure Sphere bereitstellen

Der Container für die Microsoft Azure Sphere SDK-Buildumgebung bietet Ihnen eine vorgefertigte Entwicklungsumgebung. Der Container bietet Folgendes:

  • Die Version von Ubuntu Linux für das aktuelle Azure Sphere-Release
  • Die aktuelle Version des Azure Sphere SDK für Linux
  • Zusätzliche Tools, die vom SDK benötigt werden, z. B. CMake und Ninja

Azure Sphere verwendet Docker-Container , die mit Dockerfile-Textdateien konfiguriert sind. Sie können Dockerfiles erstellen, die ein Basiscontainerimage verwenden, um einen benutzerdefinierten Container zum Erstellen von Azure Sphere-Anwendungen zu erstellen. Wenn Sie den benutzerdefinierten Container ausführen, wird das neueste Basisimage heruntergeladen, falls es sich nicht auf Ihrem Hostcomputer befindet, bei Bedarf den neuen benutzerdefinierten Container erstellt, die angegebene Anwendung erstellt und beendet. Anschließend können Sie die Ausgabe des Anwendungsbuilds auf einen Hostcomputer kopieren, auf dem das Azure Sphere SDK installiert ist, und die Anwendung auf ein Gerät querladen. Der benutzerdefinierte Buildcontainer wird in der Regel nicht interaktiv verwendet, kann aber beispielsweise zur Diagnose von Buildproblemen verwendet werden.