Ladění aplikace podporující v reálném čase
RtApps se ladí pomocí OpenOCD, který se instaluje se sadou Azure Sphere SDK, a verze GDB, která se instaluje jako součást sady nástrojů ARM GNU Embedded Toolchain.
Ladění RTApp pomocí sady Visual Studio
Ujistěte se, že je zařízení připojené k počítači přes USB. V nabídce Nastavit spouštěcí položku vyberte Azure Sphere App (RT Core), kde Azure Sphere App je název vaší aktuální aplikace podporující v reálném čase, nebo stiskněte klávesu F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje aplikaci podporující real-time, vytvoří balíček image, načte ho bokem na panel a spustí ho v režimu ladění. Zkušební načtení znamená, že se aplikace doručuje přímo z počítače přes kabelové připojení, nikoli prostřednictvím cloudu.
Poznamenejte si ID image balíčku image v zobrazení>výstupu>zobrazit výstup z: Výstup sestavení : Až budete připraveni k vytvoření nasazení, budete muset znát cestu k balíčku image.
Ve výchozím nastavení se v okně Výstup zobrazuje výstup z výstupu zařízení. Pokud chcete zobrazit zprávy z ladicího programu, vyberte v rozevírací nabídce Zobrazit výstup z možnost Ladit. Můžete také zkontrolovat přebírání programu, registry nebo paměť prostřednictvím nabídky Ladit>windows .
Visual Studio nastaví připojení mezi serverem GDB a OpenOCD, abyste mohli používat standardní ladicí rozhraní sady Visual Studio (F5, F6, F9 pro zarážky atd.) v aplikaci RTApp stejným způsobem jako v aplikaci vysoké úrovně.
Zatímco se zastavíte u zarážky ve zdrojovém kódu jazyka C, můžete otevřít okno Demontáž, které zobrazuje aktuální adresu, mnemotechnický assembler pro aktuální příkaz a informace, jako jsou zapojené registry nebo spouštěný příkaz zdrojového kódu.
Otevření okna Demontáž :
- Ujistěte se, že zdrojový soubor kódu C obsahující zarážku je otevřený v sadě Visual Studio.
- Vyberte DebugWindows> Disassembly (Ladit>Windows Disassembly) nebo stiskněte Alt+8.
Ladění RTApp pomocí editoru Visual Studio Code
Visual Studio Code se ladí stisknutím klávesy F5 nebo spuštěním příkazu ladění ze zobrazení ladění na levém panelu. V ukázkách už existuje soubor .vscode/launch.json, takže ladění se spustí okamžitě. V nové aplikaci se ladění nejprve zeptá, jestli se jedná o HLApp nebo RTApp, a z vaší odpovědi vytvoří soubor .vscode/launch.json. Ladění se pak povolí.
Zatímco se zastavíte u zarážky ve zdrojovém kódu jazyka C, můžete otevřít zobrazení Demontáž, které zobrazuje aktuální adresu, nezpracovaná šestnáctková data, mnemotechnický assembler pro aktuální příkaz a informace, jako jsou zapojené registry nebo spouštěný příkaz zdrojového kódu.
Otevření zobrazení Demontáž:
- Ujistěte se, že zdrojový soubor kódu C obsahující zarážku je otevřený v editoru Visual Studio Code.
- Buď klikněte pravým tlačítkem v okně editoru a vyberte Otevřít zobrazení demontáže, nebo vyberte Zobrazit>paletu> příkazůOtevřít zobrazení demontáže.
Ladění RTApp pomocí rozhraní příkazového řádku
Spusťte aplikaci pro ladění:
az sphere device app start --component-id <component id>
Tento příkaz vrátí jádro, na kterém aplikace běží.
Přejděte do složky Openocd pro složku sysroot, se kterou byla aplikace vytvořena. V tomto rychlém startu je sysroot 5+Beta2004. Sysroots se instalují do instalační složky sady Azure Sphere SDK. Například ve Windows je složka ve výchozím nastavení nainstalovaná v
C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\5+Beta2004\tools\openocd
a v Linuxu na adrese/opt/azurespheresdk/Sysroots/5+Beta2004/tools/sysroots/x86_64-pokysdk-linux/usr/bin/openocd
.Spusťte
openocd
, jak ukazuje následující příklad. Příklad předpokládá, že aplikace běží na jádru 0. Pokud aplikace běží na jádru 1, nahraďte "targets io0" "targets io1".Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo linuxového příkazového prostředí.
Přejděte do složky, která obsahuje soubor .out aplikace, a spusťte
arm-none-eabi-gdb
, který je součástí sady nástrojů ARM GNU Embedded Toolchain:Příkazový řádek 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
Server OpenOCD poskytuje rozhraní serveru GDB na serveru :4444. Nastavte cíl ladění.
target remote :4444
Spusťte všechny příkazy gdb, které zvolíte.
Vývoj s využitím partnerských aplikací
Když načtete aplikaci do zařízení Azure Sphere, nástroje pro nasazení Azure Sphere ve výchozím nastavení odstraní všechny existující aplikace. Pokud chcete zabránit tomu, aby k tomu docházelo při vývoji aplikací, které spolu vzájemně komunikují, musíte aplikace označit jako partnery. Když nasadíte jednu z aplikací, její partneři se neodstraní. Podrobnosti najdete v tématu Označování aplikací jako partnerů .
Řešení potíží
Pokud narazíte na problémy, přečtěte si téma Řešení potíží s aplikacemi podporujícími v reálném čase.