Felsöka ett program som kan användas i realtid
RTApps debuggeds med OpenOCD, som installeras med Azure Sphere SDK, och den version av GDB som installeras som en del av ARM GNU Embedded Toolchain.
Felsöka RTApp med Visual Studio
Kontrollera att enheten är ansluten till datorn via USB. På menyn Ange startobjekt väljer du Azure Sphere-appen (RT Core) där Azure Sphere-appen är namnet på ditt aktuella realtidsaktiveringsprogram eller trycker på F5.
Om du uppmanas att skapa projektet väljer du Ja. Visual Studio kompilerar det realtidsaktiverade programmet, skapar ett avbildningspaket, separat inläser det 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.
Observera avbildnings-ID för avbildningspaketet i Visa>utdata> från: Skapautdata När du är redo att skapa en distribution måste du känna till sökvägen till avbildningspaketet.
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 .
Visual Studio konfigurerar anslutningar mellan GDB-servern och OpenOCD så att du kan använda Visual Studio-standardgränssnittet för felsökning (F5, F6, F9 för brytpunkter och så vidare) på en RTApp, på samma sätt som i en app på hög nivå.
När den stoppas vid en brytpunkt i C-källkoden kan du öppna ett demonteringsfönster som visar den aktuella adressen, assembler-mnemonic för det aktuella kommandot och information som de berörda registerna eller källkodskommandot som körs.
Så här öppnar du fönstret Demontera :
- Kontrollera att C-kodkällfilen som innehåller brytpunkten är öppen i Visual Studio.
- Välj Debug>Windows>Disassembly eller tryck på Alt+8.
Felsöka RTApp med Visual Studio-kod
Visual Studio-kod kopplas från genom att trycka på F5 eller köra felsökningskommandot från felsökningsvyn i det vänstra fältet. I exemplen finns .vscode/launch.json redan, så felsökningen startar omedelbart. I en ny app frågar felsökning först om det här är en HLApp eller RTApp, och skapar en .vscode/launch.json från ditt svar. Felsökning aktiveras sedan.
När den stoppas vid en brytpunkt i C-källkoden kan du öppna en demonterad vy som visar den aktuella adressen, rådata för hex, assembler-mnemonic för det aktuella kommandot och information som de aktuella registren eller källkodskommandot som körs.
Så här öppnar du vyn Demontera:
- Kontrollera att C-kodkällfilen som innehåller brytpunkten är öppen i en Visual Studio-kodredigerare.
- Högerklicka i redigeringsfönstret och välj Öppna demonteringsvy eller välj Visa>kommandopaletten>Öppna demonteringsvy.
Felsöka RTApp med CLI
Starta programmet för felsökning:
az sphere device app start --component-id <component id>
Det här kommandot returnerar kärnan som programmet körs på.
Navigera till openocd-mappen för den sysroot som programmet skapades med. I den här snabbstarten är sysroot 5+Beta2004. Sysroots installeras i Azure Sphere SDK-installationsmappen. I Windows är mappen till exempel installerad som standard i
C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\5+Beta2004\tools\openocd
och på Linux, på/opt/azurespheresdk/Sysroots/5+Beta2004/tools/sysroots/x86_64-pokysdk-linux/usr/bin/openocd
.Kör
openocd
som i följande exempel. I exemplet förutsätts att appen körs på core 0. Om appen körs på core 1 ersätter du "targets io0" med "targets io1".Öppna ett kommandoradsgränssnitt med PowerShell, Windows-kommandotolken eller Linux-kommandogränssnittet.
Navigera till mappen som innehåller .out-filen och starta
arm-none-eabi-gdb
, som är en del av ARM GNU Embedded Toolchain:Kommandotolken i Windows
"C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin\arm-none-eabi-gdb" IntercoreComms_RTApp_MT3620_BareMetal.out
Windows PowerShell
& "C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin\arm-none-eabi-gdb" IntercoreComms_RTApp_MT3620_BareMetal.out
OpenOCD-servern har ett GDB-servergränssnitt på :4444. Ange målet för felsökning.
target remote :4444
Kör de gdb-kommandon du väljer.
Utveckla med partnerappar
När du läser in ett program på Azure Sphere-enheten tar Azure Sphere-distributionsverktygen som standard bort alla befintliga program. För att förhindra att detta händer när du utvecklar program som kommunicerar med varandra måste du markera programmen som partner. När du distribuerar ett av programmen tas dess partner inte bort. Mer information finns i Markera program som partner .
Felsökning
Om du stöter på problem kan du läsa Felsöka program som kan användas i realtid.