Dela via


Skapa ett program på hög nivå

I det här avsnittet beskrivs hur du skapar, paketera och distribuerar ett azure sphere-program på hög nivå.

I de här instruktionerna används exempelprogrammet HelloWorld_HighLevelApp .

Förutsättningar

Förbereda enheten för utveckling och felsökning

Innan du kan skapa ett exempelprogram på din Azure Sphere-enhet eller utveckla nya program för den måste du aktivera utveckling och separat inläsning. Som standard är Azure Sphere-enheter "låsta". d.v.s. de tillåter inte att program under utveckling läses in från en dator, och de tillåter inte felsökning av program. Om du förbereder enheten för separat inläsning försvinner denna begränsning.

Aktivera-utvecklingskommandot för az sphere-enheten konfigurerar enheten så att den accepterar program för felsökning, läser in felsökningsservern på enheten och tilldelar enheten till en enhetsgrupp som inte tillåter uppdateringar av molnprogram. Under programutveckling och felsökning bör du lämna enheten i den här gruppen så att molnprogramuppdateringar inte skriver över programmet under utveckling.

  1. Kontrollera att Azure Sphere-enheten är ansluten till datorn och att datorn är ansluten till Internet.

  2. Öppna ett kommandoradsgränssnitt med PowerShell, Windows-kommandotolken eller Linux-kommandogränssnittet.

  3. Ange följande kommando:

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

    Du bör se utdata som liknar följande:

    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.
    

Om az sphere device enable-development-kommandot misslyckas kan du läsa Felsöka Azure Sphere-problem för hjälp.

Skapa och distribuera programmet i Visual Studio med felsökning

  1. Kontrollera att enheten är ansluten till datorn via USB. På menyn Ange startobjekt väljer du Azure Sphere App (HLCore) där Azure Sphere-appen är namnet på ditt aktuella högnivåprogram eller trycker på F5.

    Felsökarknapp för fjärr-GDB

  2. Om du uppmanas att skapa projektet väljer du Ja. Visual Studio kompilerar programmet, skapar ett avbildningspaket, läser in det separat på tavlan och startar det i felsökningsläge. Separat inläsning innebär att programmet levereras direkt från datorn via en fast anslutning i stället för att levereras via molnet.

    Notera avbildnings-ID:et för avbildningspaketet i visa>utdata> från: Skapautdata. Du kommer att använda avbildnings-ID senare i självstudiekursen: Skapa en molndistribution.

  3. Som standard visar fönstret Utdata utdata från Enhetsutdata. Om du vill se meddelanden från felsökaren väljer du Felsök i listrutan Visa utdata från: . Du kan också kontrollera programdemonteringen, registren eller minnet via Menyn Felsöka>Windows .

Skapa och distribuera programmet i Visual Studio utan felsökning

  1. Kontrollera att enheten är ansluten till datorn via USB. På felsökningsmenyn väljer du Start utan felsökning eller trycker på Ctrl+F5.

  2. Om du uppmanas att skapa projektet väljer du Ja. Visual Studio kompilerar programmet, skapar ett avbildningspaket, läser in det separat på tavlan och startar det. Separat inläsning innebär att programmet levereras direkt från datorn via en fast anslutning i stället för att levereras via molnet.

  3. Som standard visar fönstret Utdata utdata från Enhetsutdata.

Skapa och distribuera programmet i Visual Studio-kod med felsökning

  1. Tryck på F5 för att skapa och felsöka projektet. Om projektet inte har skapats tidigare, eller om filer har ändrats och återskapats, skapas projektet i Visual Studio Code innan felsökningen påbörjas.

  2. Vänta i några sekunder på att Visual Studio-koden ska skapa programmet, skapa ett avbildningspaket, distribuera det till tavlan och starta det i felsökningsläge. Statusuppdateringar visas i fönstret Utdata längs vägen.

    Först avgör CMake om programmet behöver byggas. I så fall flyttas fokus till utdatafönstret, som visar utdata från CMake/Build.

    Därefter visar fönstret Utdata resultatet när avbildningspaketet distribueras till enheten. Slutligen får felsökningskonsolen fokus och visar felsökningsresultat.

Skapa och distribuera programmet i Visual Studio-kod utan felsökning

  1. Kontrollera att enheten är ansluten till datorn via USB. På menyn Kör väljer du Start utan felsökning eller trycker på Ctrl+F5 för att skapa och köra projektet. Om projektet inte har skapats tidigare, eller om filer har ändrats och återskapats krävs, bygger Visual Studio Code projektet.

  2. Vänta i några sekunder på att Visual Studio-koden ska bygga programmet, skapa ett avbildningspaket, distribuera det till tavlan och starta det. Statusuppdateringar visas i fönstret Utdata längs vägen.

    Först avgör CMake om programmet behöver byggas. I så fall flyttas fokus till utdatafönstret, som visar utdata från CMake/Build.

    I utdatafönstret visas sedan utdata från azsfären när avbildningspaketet distribueras till enheten. Appen startas automatiskt när den har distribuerats till enheten.

Skapa programmet

För att kunna skapa programmet måste du hitta rätt kompileringsverktyg, rubriker och bibliotek – som kallas sysroot – på datorn. Azure Sphere SDK levereras med flera sysroots så att program kan rikta olika API-uppsättningar, enligt beskrivningen i Application Runtime-versionen, sysroots och Beta-API:er. Sysroots installeras i Azure Sphere SDK-installationsmappen under Sysroots.

  1. Skapa eller navigera till katalogen som innehåller de filer som ska genereras under byggprocessen.

  2. Om programmet är beroende av ett annat program markerar du programmen som partner i deras app_manifest.md-filer.

  3. Lägg till eller uppdatera CMakeLists.txt-filen för ditt program för att anropa Azure Sphere CMake-funktionerna efter behov.

  4. Kör CMake med följande parametrar i kommandotolken från project build-katalogen:

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

      Namnet på konfigurationsförinställningen som definierats i CMakePresets.json.

    • --build <cmake-path>

      Den binära katalogen som innehåller CMake-cachen. Om du till exempel kör CMake på ett Azure Sphere-exempel blir cmake --build out/ARM-Debugbuild-kommandot .

    • <source-path>

      Sökvägen till katalogen som innehåller källfilerna för exempelprogrammet. I exemplet laddades Azure Sphere-exempellagringsplatsen ned till en katalog med namnet AzSfär.

      CMake-parametrar avgränsas med blanksteg. Linjefortsättningstecknet (^ för Windows kommandorad, \ för Linux-kommandoraden eller ' för PowerShell) kan användas för läsbarhet, men krävs inte.

    I följande exempel visas CMake-kommandon för Hello World högnivåapp.

    Kommandotolken i Windows

    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. Kör Ninja för att skapa programmet och skapa avbildningspaketfilen:

    ninja -C out/ARM-Debug
    

    Ninja placerar de resulterande program- och .imagepackage-filerna i den angivna katalogen.

    Du kan också anropa Ninja via CMake med följande kommando:

    cmake --build out/<binary-dir>
    

    Ange <binary-dir> den binära katalogen som innehåller CMake-cachen. Om du till exempel kör CMake på ett Azure Sphere-exempel blir cmake --build out/ARM-Debugbuild-kommandot .

Distribuera programmet

Kontrollera att enheten har funktionen appUtveckling så att du kan läsa in programmet separat och kontrollera att felsökningsservern finns. az sphere device enable-development Använd kommandot om det behövs.

  1. Om enheten redan kör ett eller flera program tar du bort dem.

    az sphere device sideload delete
    

    Observera att det här kommandot tar bort alla program på enheten. Om du redan har distribuerat en RTApp som är en partner till högnivåappen använder du parametern --component-id för att ange vilket program du vill ta bort. Du hittar programmets komponent-ID i dess app_manifest.json-fil.

  2. Läs in avbildningspaketet på enheten genom att köra kommandot az sphere device sideload deploy och ange avbildningspaketet. Till exempel:

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

    Programmet ska börja köras.

Du kan senare stoppa och starta om programmet med hjälp az sphere device app stop --component-id <component-ID> av kommandona och az sphere device app start --component-id <component ID> .