Dela via


Skapa ett högnivåprogram

Viktigt!

Det här är dokumentationen om Azure Sphere (Legacy). Azure Sphere (Legacy) upphör den 27 september 2027 och användarna måste migrera till Azure Sphere (integrerad) vid den här tiden. Använd versionsväljaren ovanför TOC för att visa dokumentationen om Azure Sphere (integrerad).

I det här avsnittet beskrivs hur du skapar, paketar och distribuerar ett Azure Sphere-program på hög nivå.

De här anvisningarna använder HelloWorld_HighLevelApp exempelprogram som exempel.

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"; De tillåter alltså inte att program under utveckling läses in från en dator och de tillåter inte felsökning av program. När du förbereder enheten för separat inläsning tar du bort den här begränsningen.

Kommandot azsphere device enable-development konfigurerar enheten för att acceptera 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 Din Azure Sphere-enhet är ansluten till datorn och att datorn är ansluten till Internet.

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

  3. Ange följande kommando:

    azsphere device enable-development
    

    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 kommandot azsphere device enable-development 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 App är namnet på ditt aktuella högnivåprogram eller trycker på F5.

    Knappen Fjärrfelsökare för 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 kabelansluten anslutning i stället för att levereras via molnet.

    Observera bild-ID:t för avbildningspaketet i Visa>utdata>Visa utdata från: Skapa utdata. Du använder avbildnings-ID senare i Självstudie: Skapa en molndistribution.

  3. Som standard visar fönstret Utdata utdata från enhetsutdata. Om du vill se meddelanden från felsökningsprogrammet väljer du Felsöka från listrutan Visa utdata från: . Du kan också granska programmets demontering, registreringar eller minne via Windows-menyn Felsöka.>

Skapa och distribuera programmet i Visual Studio utan att felsöka

  1. Kontrollera att enheten är ansluten till datorn via USB. I felsökningsmenyn väljer du Starta utan att felsöka 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 kabelansluten 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 Code 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 krävs, skapar Visual Studio Code projektet innan felsökningen startar.

  2. Vänta några sekunder tills Visual Studio Code har skapat programmet, skapa ett avbildningspaket, distribuera det till brädet 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 skapas. 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ökningsutdata.

Skapa och distribuera programmet i Visual Studio Code utan att felsöka

  1. Kontrollera att enheten är ansluten till datorn via USB. På menyn Kör väljer du Starta utan att felsöka 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, skapar Visual Studio Code projektet.

  2. Vänta några sekunder tills Visual Studio Code skapar programmet, skapar ett avbildningspaket, distribuerar det till brädet och startar det. Statusuppdateringar visas i fönstret Utdata längs vägen.

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

    Därefter visar utdatafönstret utdata från azsphere när det distribuerar avbildningspaketet till enheten. Appen startar automatiskt när den har distribuerats till enheten.

Skapa programmet

För att skapa ditt program måste du hitta rätt kompileringsverktyg, huvuden och bibliotek – som kallas för sysroot – på datorn. Azure Sphere SDK levereras med flera sysroots så att program kan rikta in sig på olika API-uppsättningar, enligt beskrivningen i Programkörningsversion, sysroots och Beta-API:er. Sysroots installeras i installationsmappen för Azure Sphere SDK under Sysroots.

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

  2. Om ditt program ä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 i kommandotolken i projektversionskatalogen med följande parametrar:

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

      Förinställningsnamnet för byggkonfigurationen enligt definitionen i CMakePresets.json.

    • --build <cmake-path>

      Binärkatalogen som innehåller CMake-cachen. Om du till exempel kör CMake i 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 AzSphere.

      CMake-parametrar avgränsas med blanksteg. Radfortsättningstecknet (^ för Windows-kommandoraden, \ 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-kommandona för högnivåappen Hello World.

    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 det resulterande programmet 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> till den binära katalog som innehåller CMake-cachen. Om du till exempel kör CMake i 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 se till att felsökningsservern finns. azsphere device enable-development Använd kommandot om det behövs.

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

    azsphere 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 som ska tas bort. Du hittar komponent-ID :t för programmet i dess app_manifest.json-fil.

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

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

Programmet bör börja köras.

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