Erstellen einer allgemeinen Anwendung

In diesem Abschnitt wird beschrieben, wie Sie eine allgemeine Azure Sphere-Anwendung erstellen, packen und bereitstellen.

Diese Anweisungen verwenden die HelloWorld_HighLevelApp Beispielanwendung als Beispiel.

Voraussetzungen

Vorbereiten Ihres Geräts für die Entwicklung und das Debuggen

Bevor Sie eine Beispielanwendung auf Ihrem Azure Sphere-Gerät erstellen oder neue Anwendungen dafür entwickeln können, müssen Sie die Entwicklung und das Querladen aktivieren. Standardmäßig sind Azure Sphere-Geräte "gesperrt". Das heißt, sie lassen nicht zu, dass Anwendungen, die sich in der Entwicklung befinden, von einem Computer geladen werden, und sie lassen das Debuggen von Anwendungen nicht zu. Durch vorbereiten des Geräts für das Querladen wird diese Einschränkung entfernt.

Der Befehl az sphere device enable-development konfiguriert das Gerät so, dass Es Anwendungen zum Debuggen akzeptiert, lädt den Debugserver auf das Gerät und weist das Gerät einer Gerätegruppe zu, die keine Cloudanwendungsupdates zulässt. Während der Anwendungsentwicklung und beim Debuggen sollten Sie das Gerät in dieser Gruppe belassen, damit Cloudanwendungsupdates die Anwendung in der Entwicklung nicht überschreiben.

  1. Stellen Sie sicher, dass Ihr Azure Sphere-Gerät mit Ihrem Computer verbunden ist und dass Ihr Computer mit dem Internet verbunden ist.

  2. Öffnen Sie eine Befehlszeilenschnittstelle mithilfe von PowerShell, der Windows-Eingabeaufforderung oder der Linux-Befehlsshell.

  3. Geben Sie den folgenden Befehl ein:

    az sphere device enable-development --resource-group <ResourceGroupName> --catalog <CatalogName> --device <DeviceIdValue>
    

    Es sollte eine Ausgabe ähnlich der folgenden angezeigt werden:

    Getting device capability configuration for application development.
    Downloading device capability configuration for device ID '<device ID>'.
    Successfully downloaded device capability configuration.
    Successfully wrote device capability configuration file 'C:\Users\user\AppData\Local\Temp\tmpD732.tmp'.
    Setting device group ID 'a6df7013-c7c2-4764-8424-00cbacb431e5' for device with ID '<device ID>'.
    Successfully disabled over-the-air updates.
    Enabling application development capability on attached device.
    Applying device capability configuration to device.
    Successfully applied device capability configuration to device.
    The device is rebooting.
    Installing debugging server to device.
    Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device.
    Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device.
    Application development capability enabled.
    Successfully set up device '<device ID>' for application development, and disabled over-the-air updates.
    Command completed successfully in 00:00:38.3299276.
    

Wenn der Befehl az sphere device enable-development fehlschlägt, finden Sie weitere Informationen unter Behandeln von Azure Sphere-Problemen .

Erstellen und Bereitstellen der Anwendung in Visual Studio mit Debuggen

  1. Stellen Sie sicher, dass Ihr Gerät über USB mit Ihrem PC verbunden ist. Wählen Sie im Menü Startelement festlegen die Option Azure Sphere-App (HLCore) aus, wobei Azure Sphere-App der Name Ihrer aktuellen allgemeinen Anwendung ist, oder drücken Sie F5.

    Schaltfläche

  2. Wenn Sie aufgefordert werden, das Projekt zu erstellen, wählen Sie Ja aus. Visual Studio kompiliert die Anwendung, erstellt ein Imagepaket, überlädt es quer auf das Board und startet es im Debugmodus. Querladen bedeutet, dass die Anwendung direkt vom PC über eine kabelgebundene Verbindung und nicht über die Cloud übermittelt wird.

    Notieren Sie sich die Bild-ID des Bildpakets in der AusgabeAusgabe>>anzeigen Show von: Buildausgabe. Sie verwenden die Image-ID später in Tutorial: Erstellen einer Cloudbereitstellung.

  3. Standardmäßig wird im Ausgabefenster die Ausgabe der Geräteausgabe angezeigt. Wählen Sie zum Anzeigen von Meldungen aus dem Debugger im Dropdownmenü Ausgabe anzeigen von: die Option Debuggen aus. Sie können auch die Programmdemontage, Die Registrierungen oder den Arbeitsspeicher über das Menü Debuggen> vonFenstern überprüfen.

Erstellen und Bereitstellen der Anwendung in Visual Studio ohne Debuggen

  1. Stellen Sie sicher, dass Ihr Gerät über USB mit Ihrem PC verbunden ist. Wählen Sie im Menü Debuggen die Option Ohne Debuggen starten aus, oder drücken Sie STRG+F5.

  2. Wenn Sie aufgefordert werden, das Projekt zu erstellen, wählen Sie Ja aus. Visual Studio kompiliert die Anwendung, erstellt ein Imagepaket, überlädt es quer auf das Board und startet es. Querladen bedeutet, dass die Anwendung direkt vom PC über eine kabelgebundene Verbindung und nicht über die Cloud übermittelt wird.

  3. Standardmäßig wird im Ausgabefenster die Ausgabe der Geräteausgabe angezeigt.

Erstellen und Bereitstellen der Anwendung in Visual Studio Code mit Debuggen

  1. Drücken Sie F5, um das Projekt zu erstellen und zu debuggen. Wenn das Projekt noch nicht erstellt wurde oder dateien geändert wurden und eine Neuerstellung erforderlich ist, erstellt Visual Studio Code das Projekt, bevor das Debuggen gestartet wird.

  2. Warten Sie einige Sekunden, bis Visual Studio Code die Anwendung erstellt, ein Imagepaket erstellt, auf dem Board bereitgestellt und im Debugmodus gestartet wird. Auf dem Weg werden status Updates im Bereich Ausgabe angezeigt.

    Zunächst bestimmt CMake, ob die Anwendung erstellt werden muss. Wenn ja, verschiebt sich der Fokus auf das Ausgabefenster, in dem die Ausgabe von CMake/Build angezeigt wird.

    Als Nächstes wird im Bereich Ausgabe das Ergebnis angezeigt, wenn das Imagepaket auf dem Gerät bereitgestellt wird. Schließlich erhält die Debugkonsole den Fokus und zeigt die Debuggerausgabe an.

Erstellen und Bereitstellen der Anwendung in Visual Studio Code ohne Debuggen

  1. Stellen Sie sicher, dass Ihr Gerät über USB mit Ihrem PC verbunden ist. Wählen Sie im Menü Ausführen die Option Ohne Debuggen starten aus, oder drücken Sie STRG+F5 , um das Projekt zu erstellen und auszuführen. Wenn das Projekt noch nicht erstellt wurde oder dateien geändert wurden und eine Neuerstellung erforderlich ist, erstellt Visual Studio Code das Projekt.

  2. Warten Sie einige Sekunden, bis Visual Studio Code die Anwendung erstellt, ein Imagepaket erstellt, auf dem Board bereitgestellt und gestartet wird. Auf dem Weg werden status Updates im Bereich Ausgabe angezeigt.

    Zunächst bestimmt CMake, ob die Anwendung erstellt werden muss. Wenn ja, verschiebt sich der Fokus auf das Ausgabefenster, in dem die Ausgabe von CMake/Build angezeigt wird.

    Als Nächstes wird im Ausgabefenster die Ausgabe von azsphere angezeigt, während das Imagepaket auf dem Gerät bereitgestellt wird. Die App wird automatisch gestartet, nachdem sie auf dem Gerät bereitgestellt wurde.

Erstellen der Anwendung

Zum Erstellen Ihrer Anwendung müssen Sie auf Ihrem Computer die richtigen Kompilierungstools, Header und Bibliotheken – zusammen als Sysroot bezeichnet – finden. Das Azure Sphere SDK wird mit mehreren sysroots ausgeliefert, sodass Anwendungen verschiedene API-Sätze als Ziel verwenden können, wie unter Anwendungsruntimeversion, Sysroots und Beta-APIs beschrieben. Die Sysroots werden im Installationsordner des Azure Sphere SDK unter Sysroots installiert.

  1. Erstellen Sie das Verzeichnis, das die Dateien enthält, die während des Buildprozesses generiert werden sollen, oder navigieren Sie zu diesem Verzeichnis.

  2. Wenn Ihre Anwendung von einer anderen Anwendung abhängt, markieren Sie die Anwendungen in ihren app_manifest.md-Dateien als Partner.

  3. Fügen Sie die CMakeLists.txt-Datei für Ihre Anwendung hinzu, um die Azure Sphere CMake-Funktionen nach Bedarf aufzurufen.

  4. Führen Sie in Ihrem Projektbuildverzeichnis an der Eingabeaufforderung CMake mit den folgenden Parametern aus:

    cmake --preset <preset-name> <source-path>
    
    • --preset <preset-name>

      Der voreingestellte Name der Buildkonfiguration, wie in CMakePresets.json definiert.

    • --build <cmake-path>

      Das Binärverzeichnis, das den CMake-Cache enthält. Wenn Sie z. B. CMake in einem Azure Sphere-Beispiel ausführen, lautet cmake --build out/ARM-Debugder Buildbefehl .

    • <source-path>

      Der Pfad des Verzeichnisses, das die Quelldateien für die Beispielanwendung enthält. Im Beispiel wurde das Azure Sphere-Beispielrepository in ein Verzeichnis namens AzSphere heruntergeladen.

      CMake-Parameter werden durch Leerzeichen getrennt. Das Zeilenfortsetzungszeichen (^ für Windows-Befehlszeile, \ für Linux-Befehlszeile oder ' für PowerShell) kann zur Lesbarkeit verwendet werden, ist jedoch nicht erforderlich.

    Die folgenden Beispiele zeigen die CMake-Befehle für die Hallo Welt allgemeine App.

    Windows-Eingabeaufforderung

    cmake ^
     --preset "ARM-Debug" ^
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    

    Windows PowerShell

    cmake `
     --preset "ARM-Debug" `
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    
  5. Führen Sie Ninja aus, um die Anwendung zu erstellen und die Imagepaketdatei zu erstellen:

    ninja -C out/ARM-Debug
    

    Ninja platziert die resultierenden Anwendungs- und IMAGEPACKAGE-Dateien im angegebenen Verzeichnis.

    Sie können Ninja auch über CMake mit dem folgenden Befehl aufrufen:

    cmake --build out/<binary-dir>
    

    Legen Sie <binary-dir> auf das Binärverzeichnis fest, das den CMake-Cache enthält. Wenn Sie z. B. CMake in einem Azure Sphere-Beispiel ausführen, lautet cmake --build out/ARM-Debugder Buildbefehl .

Bereitstellen der Anwendung

Stellen Sie sicher, dass Ihr Gerät über die AppDevelopment-Funktion verfügt, damit Sie die Anwendung querladen können, und stellen Sie sicher, dass der Debugserver vorhanden ist. Verwenden Sie bei Bedarf den az sphere device enable-development Befehl.

  1. Wenn auf Ihrem Gerät bereits eine oder mehrere Anwendungen ausgeführt werden, löschen Sie diese.

    az sphere device sideload delete
    

    Beachten Sie, dass dieser Befehl alle Anwendungen auf dem Gerät löscht. Wenn Sie bereits eine RTApp bereitgestellt haben, die ein Partner für die allgemeine App ist, verwenden Sie den --component-id Parameter, um anzugeben, welche Anwendung gelöscht werden soll. Sie finden die Komponenten-ID der Anwendung in der datei app_manifest.json.

  2. Laden Sie das Imagepaket auf Ihr Gerät, indem Sie den Befehl az sphere device sideload deploy ausführen und das Imagepaket angeben. Zum Beispiel:

    az sphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
    

    Ihre Anwendung sollte mit der Ausführung beginnen.

Sie können die Anwendung später mit den az sphere device app stop --component-id <component-ID> Befehlen und beenden und az sphere device app start --component-id <component ID> neu starten.