Delen via


Een toepassing op hoog niveau bouwen

In deze sectie wordt beschreven hoe u een azure Sphere-toepassing op hoog niveau bouwt, verpakt en implementeert.

In deze instructies wordt de voorbeeldtoepassing HelloWorld_HighLevelApp als voorbeeld gebruikt.

Voorwaarden

Uw apparaat voorbereiden op ontwikkeling en foutopsporing

Voordat u een voorbeeldtoepassing op uw Azure Sphere-apparaat kunt bouwen of er nieuwe toepassingen voor kunt ontwikkelen, moet u ontwikkeling en sideloading inschakelen. Azure Sphere-apparaten zijn standaard 'vergrendeld'; Dat wil gezegd, ze staan niet toe dat toepassingen die in ontwikkeling zijn vanaf een computer worden geladen en ze staan geen foutopsporing van toepassingen toe. Als u het apparaat voorbereidt op sideloaden, wordt deze beperking verwijderd.

De opdracht az sphere device enable-development configureert het apparaat om toepassingen voor foutopsporing te accepteren, laadt de foutopsporingsserver op het apparaat en wijst het apparaat toe aan een apparaatgroep die geen updates van cloudtoepassingen toestaat. Tijdens het ontwikkelen van toepassingen en foutopsporing moet u het apparaat in deze groep laten zodat cloudtoepassingsupdates de toepassing in ontwikkeling niet overschrijven.

  1. Zorg ervoor dat uw Azure Sphere-apparaat is verbonden met uw computer en dat uw computer is verbonden met internet.

  2. Open een opdrachtregelinterface met behulp van PowerShell, Windows-opdrachtprompt of Linux-opdrachtshell.

  3. Voer de volgende opdracht in:

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

    De uitvoer ziet er ongeveer als volgt uit:

    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.
    

Als de opdracht az sphere device enable-development mislukt, raadpleegt u Problemen met Azure Sphere oplossen voor hulp.

De toepassing bouwen en implementeren in Visual Studio met foutopsporing

  1. Zorg ervoor dat uw apparaat via USB is aangesloten op uw pc. Selecteer in het menu Opstartitem instellende optie Azure Sphere-app (HLCore) waarbij Azure Sphere-app de naam is van uw huidige toepassing op hoog niveau of druk op F5.

    Knop Extern GDB-foutopsporingsprogramma

  2. Als u wordt gevraagd het project te bouwen, selecteert u Ja. Visual Studio compileert de toepassing, maakt een installatiekopieënpakket, sideloadt het op het bord en start deze in de foutopsporingsmodus. Sideloading betekent dat de toepassing rechtstreeks vanaf de pc wordt geleverd via een bekabelde verbinding, in plaats van via de cloud.

    Noteer de installatiekopieën-id van het installatiekopieënpakket in uitvoer weergeven>>Uitvoer weergeven van: Build-uitvoer. U gebruikt de installatiekopieën-id verderop in Zelfstudie: Een cloudimplementatie maken.

  3. In het venster Uitvoer wordt standaard de uitvoer van Apparaatuitvoer weergegeven. Als u berichten uit het foutopsporingsprogramma wilt zien, selecteert u Foutopsporing in de vervolgkeuzelijst Uitvoer weergeven van: . U kunt ook de demontage van het programma, de registers of het geheugen controleren via het menu Foutopsporing>in Windows .

De toepassing bouwen en implementeren in Visual Studio zonder foutopsporing

  1. Zorg ervoor dat uw apparaat via USB is aangesloten op uw pc. Selecteer in het menu Foutopsporingde optie Starten zonder foutopsporing of druk op Ctrl+F5.

  2. Als u wordt gevraagd het project te bouwen, selecteert u Ja. Visual Studio compileert de toepassing, maakt een installatiekopieënpakket, laadt het op het bord en start het. Sideloading betekent dat de toepassing rechtstreeks vanaf de pc wordt geleverd via een bekabelde verbinding, in plaats van via de cloud.

  3. In het venster Uitvoer wordt standaard de uitvoer van Apparaatuitvoer weergegeven.

De toepassing bouwen en implementeren in Visual Studio Code met foutopsporing

  1. Druk op F5 om het project te bouwen en fouten op te sporen. Als het project nog niet eerder is gebouwd of als bestanden zijn gewijzigd en opnieuw moeten worden opgebouwd, bouwt Visual Studio Code het project voordat de foutopsporing wordt gestart.

  2. Wacht enkele seconden totdat Visual Studio Code de toepassing heeft gebouwd, een installatiekopieënpakket hebt gemaakt, het op het bord implementeert en in de foutopsporingsmodus start. U ziet onderweg statusupdates in het deelvenster Uitvoer .

    Eerst bepaalt CMake of de toepassing moet worden gebouwd. Als dat zo is, wordt de focus verplaatst naar het uitvoervenster, waarin de uitvoer van CMake/Build wordt weergegeven.

    Vervolgens wordt in het deelvenster Uitvoer het resultaat weergegeven wanneer het installatiekopiepakket op het apparaat wordt geïmplementeerd. Ten slotte krijgt de foutopsporingsconsole de focus en wordt de uitvoer van het foutopsporingsprogramma weergegeven.

De toepassing bouwen en implementeren in Visual Studio Code zonder foutopsporing

  1. Zorg ervoor dat uw apparaat via USB is aangesloten op uw pc. Selecteer in het menu Uitvoerende optie Starten zonder foutopsporing of druk op Ctrl+F5 om het project te bouwen en uit te voeren. Als het project nog niet eerder is gebouwd of als bestanden zijn gewijzigd en opnieuw moeten worden opgebouwd, wordt het project door Visual Studio Code gebouwd.

  2. Wacht enkele seconden totdat Visual Studio Code de toepassing heeft gebouwd, een installatiekopieënpakket maakt, op het bord implementeert en start. U ziet onderweg statusupdates in het deelvenster Uitvoer .

    Eerst bepaalt CMake of de toepassing moet worden gebouwd. Als dat zo is, wordt de focus verplaatst naar het uitvoervenster, waarin de uitvoer van CMake/Build wordt weergegeven.

    Vervolgens wordt in het uitvoervenster de uitvoer van azsphere weergegeven terwijl het installatiekopieënpakket op het apparaat wordt geïmplementeerd. De app wordt automatisch gestart nadat deze op het apparaat is geïmplementeerd.

De toepassing bouwen

Als u uw toepassing wilt bouwen, moet u de juiste compilatiehulpprogramma's, headers en bibliotheken, gezamenlijk de sysroot genoemd, op uw computer vinden. De Azure Sphere SDK wordt geleverd met meerdere sysroots, zodat toepassingen zich kunnen richten op verschillende API-sets, zoals beschreven in Application Runtime-versie, sysroots en beta-API's. De sysroots worden geïnstalleerd in de Azure Sphere SDK-installatiemap onder Sysroots.

  1. Maak of navigeer naar de map die de bestanden bevat die tijdens het buildproces moeten worden gegenereerd.

  2. Als uw toepassing afhankelijk is van een andere toepassing, markeert u de toepassingen als partners in hun app_manifest.md-bestanden.

  3. Voeg het CMakeLists.txt-bestand voor uw toepassing toe of werk deze bij om zo nodig de Azure Sphere CMake-functies aan te roepen.

  4. Voer CMake uit vanuit de map van uw projectbuild, bij de opdrachtprompt, met de volgende parameters:

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

      De vooraf ingestelde naam van de buildconfiguratie zoals gedefinieerd in CMakePresets.json.

    • --build <cmake-path>

      De binaire map die de CMake-cache bevat. Als u bijvoorbeeld CMake uitvoert op een Azure Sphere-voorbeeld, is cmake --build out/ARM-Debugde build-opdracht .

    • <source-path>

      Het pad van de map met de bronbestanden voor de voorbeeldtoepassing. In het voorbeeld is de opslagplaats azure Sphere-voorbeelden gedownload naar een map met de naam AzSphere.

      CMake-parameters worden gescheiden door spaties. Het regel vervolgteken (^ voor Windows-opdrachtregel, \ voor Linux-opdrachtregel of ' voor PowerShell) kan worden gebruikt voor leesbaarheid, maar is niet vereist.

    In de volgende voorbeelden ziet u de CMake-opdrachten voor de Hallo wereld app op hoog niveau.

    Windows-opdrachtprompt

    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. Voer Ninja uit om de toepassing te bouwen en het installatiekopieënpakketbestand te maken:

    ninja -C out/ARM-Debug
    

    Ninja plaatst de resulterende toepassings- en .imagepackage-bestanden in de opgegeven map.

    U kunt Ninja ook aanroepen via CMake met de volgende opdracht:

    cmake --build out/<binary-dir>
    

    Stel in <binary-dir> op de binaire map die de CMake-cache bevat. Als u bijvoorbeeld CMake uitvoert op een Azure Sphere-voorbeeld, is cmake --build out/ARM-Debugde build-opdracht .

De toepassing implementeren

Zorg ervoor dat uw apparaat de appDevelopment-mogelijkheid heeft, zodat u de toepassing kunt sideloaden en ervoor kunt zorgen dat de foutopsporingsserver aanwezig is. Gebruik indien nodig de az sphere device enable-development opdracht.

  1. Als op uw apparaat al een of meer toepassingen worden uitgevoerd, verwijdert u deze.

    az sphere device sideload delete
    

    Houd er rekening mee dat met deze opdracht alle toepassingen op het apparaat worden verwijderd. Als u al een RTApp hebt geïmplementeerd die een partner is voor de app op hoog niveau, gebruikt u de --component-id parameter om op te geven welke toepassing u wilt verwijderen. U vindt de onderdeel-id van de toepassing in het bestand app_manifest.json.

  2. Laad het installatiekopieënpakket op uw apparaat door de opdracht az sphere device sideload deploy uit te voeren en het installatiekopieënpakket op te geven. Bijvoorbeeld:

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

    Uw toepassing moet worden uitgevoerd.

U kunt de toepassing later stoppen en opnieuw starten met behulp van de az sphere device app stop --component-id <component-ID> opdrachten en az sphere device app start --component-id <component ID> .