Dela via


Separat inläsning av ett programbildpaket för testning

Under utvecklingen kan du behöva läsa in ett avbildningspaket separat på Azure Sphere-enheten för testning. När du bygger ett program med Visual Studio eller Visual Studio Code Integrated Development Environment (IDE) paketerade SDK programavbildningen åt dig. Om du har direkt åtkomst till en Azure Sphere-enhet kan SDK:et även ta bort befintliga program som inte är markerade 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 appUtvecklingsfunktionen 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 säkerställer du att dina program med separat inläsning inte skrivs över av molndistributioner. Om du vill förbereda enheten använder du kommandot az sphere 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:

az sphere device sideload delete

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

az sphere device sideload delete --component-id <ComponentID>

Läs sedan in det nya avbildningspaketet separat:

az sphere device sideload deploy --image-package <imagepackagepath>

Ersätt imagepackagepath med sökvägen till avbildningspaketet. Om du använder Visual Studio eller Visual Studio-kod hittar du avbildningspaketet i bin\ARM\Debug eller bin\ARM\Release-undermappen till 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 az sphere-enhetens separat inläsningskommando för att förhindra automatisk start och startar sedan programmet för felsökning:

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

Kommandot visar portarna för utdata och felsökning för program på hög nivå:

   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 kan läsa in flera program, till exempel ett par program på hög nivå och realtidsprogram som kommunicerar med varandra. Om program markeras som partner förhindras att en tas bort när den andra läses in. När Visual Studio- och Visual Studio-kod-ID:erna separat läser in ett nytt avbildningspaket tas alla befintliga program som inte är markerade som partnerprogram bort.

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

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

  2. Lägg till följande rad:

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

    Byt ut komponent-ID:t i <Component ID> partnerprogrammet mot och spara filen. Du hittar komponent-ID för varje program i dess app_manifest.json-fil eller med hjälp av az sphere device image list-installed eller az sphere device app show-status.

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

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

  2. Lägg till följande rad:

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

    Byt ut komponent-ID:t i <Component ID> partnerprogrammet mot och spara filen. Du hittar komponent-ID för varje program i dess app_manifest.json-fil eller med hjälp av az sphere device image list-installed eller az sphere device app show-status.