Dela via


Läs in ett programbildpaket separat för testning

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).

Under utvecklingen kan du behöva läsa in ett avbildningspaket separat på Azure Sphere-enheten för testning. När du skapar ett program med Visual Studio eller Visual Studio Code integrated development environment (IDE) paketar SDK:t programavbildningen åt dig. Om du har direkt åtkomst till en Azure Sphere-enhet kan SDK:n även ta bort befintliga program som inte har markerats som partner, läsa in det nya avbildningspaketet på enheten, starta det och aktivera felsökning. Du kan också separat läsa in ett avbildningspaket direkt från kommandoraden.

Du måste först aktivera funktionen appUtveckling för enheten och lägga till enheten i en enhetsgrupp som inte stöder uppdateringar av molnprogram. Om du tilldelar enheter till en sådan grupp ser du till att dina separat inlästa program inte skrivs över av molndistributioner. För att förbereda enheten använder du kommandot azsphere device enable-development. Du kan sedan läsa in avbildningen separat.

Läsa in och felsöka ett avbildningspaket från kommandoraden

Om du vill läsa in avbildningspaketet separat från kommandoraden tar du bort alla befintliga program på enheten och läser sedan in det nya.

Så här stoppar och tar du bort alla program på enheten:

azsphere device sideload delete

Om du vill ta bort ett enda program lägger du till alternativet --component-id enligt följande:

azsphere device sideload delete --component-id <ComponentID>

Läs sedan in det nya avbildningspaketet separat:

azsphere device sideload deploy --image-package <imagepackagepath>

Ersätt imagepackagepath med sökvägen till avbildningspaketet. Om du använder Visual Studio eller Visual Studio Code kan du hitta avbildningspaketet i undermappen bin\ARM\Debug eller bin\ARM\Release i programmets projektmapp. Som standard startar kommandot programmet när det har distribuerats.

Om du vill felsöka programmet lägger du till flaggan --manual-start i kommandot azsphere device sideload deploy för att förhindra automatisk start och startar sedan programmet för felsökning:

azsphere device sideload deploy --manual-start --image-package <imagepackagepath>
azsphere device app start --debug --component-id <ComponentID>

Kommandot visar utdata- och felsökningsportarna för högnivåprogram:

   Output Port: 2342
   GDB Port: 2345

Markera program som partner

Program som är relaterade ska markeras som partnerprogram. Det finns många situationer där du läser in flera program, till exempel ett par högnivåprogram och realtidsprogram som kommunicerar med varandra. Om du markerar programmen som partner förhindrar du att en tas bort när den andra läses in. När Visual Studio- och Visual Studio Code-ID:erna separat läser in ett nytt avbildningspaket tar de bort alla befintliga program som inte har markerats som partnerprogram.

Så här markerar du ett program som en partner med CMake i Visual Studio:

  1. Redigera launch.vs.json-filen för programmet.

  2. Lägg till följande rad:

    "partnerComponents": [ "<Component ID>" ]
    

    Ersätt komponent-ID:t för partnerprogrammet med <Component ID> och spara filen. Du hittar komponent-ID:t för varje program i dess app_manifest.json-fil eller med azsphere device image list-installed eller azsphere device app show-status.

Så här markerar du ett program som en partner med hjälp av CMake i Visual Studio Code:

  1. Redigera filen .vscode\launch.json för programmet.

  2. Lägg till följande rad:

    "partnerComponents": [ "<Component ID>" ]
    

    Ersätt komponent-ID:t för partnerprogrammet med <Component ID> och spara filen. Du hittar komponent-ID:t för varje program i dess app_manifest.json-fil eller med azsphere device image list-installed eller azsphere device app show-status.