Kurz: Sestavování a ladění partnerských aplikací
Důležité
Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.
V tomto kurzu se dozvíte, jak sestavit a ladit ukázkový projekt, který zahrnuje aplikaci vysoké úrovně i aplikaci podporující v reálném čase, kde tyto dvě aplikace komunikují mezi jádrem A7 vysoké úrovně a jádrem M4 v reálném čase. Základní informace o aplikacích vysoké úrovně a aplikacích s podporou v reálném čase najdete v přehledu aplikací Azure Sphere.
V tomto kurzu se naučíte:
- Instalace sady nástrojů GNU Arm
- Nastavení hardwaru pro zobrazení výstupu
- Povolení vývoje a ladění
- Klonování ukázkového úložiště Azure Sphere
- Spuštění emulátoru terminálu pro zobrazení výstupu
- Sestavení, spuštění a ladění páru partnerských aplikací
Důležité
Tyto pokyny předpokládají, že používáte hardware, který se řídí hardwarem referenční desky MT3620 (RDB), jako je MT3620 Dev Kit od Seeed Studios. Pokud používáte jiný hardware Azure Sphere, projděte si dokumentaci výrobce a zjistěte, jestli je UART vystavený a jak k němu přistupovat. Možná budete muset nastavit hardware tak, aby zobrazoval výstup jinak, a aktualizovat vzorový kód a pole Uarts v souboru app_manifest.json tak, aby používalo jiný objekt UART.
Požadavky
- Nainstalujte CMake a Ninja pro Windows nebo Linux.
- Nainstalujte Visual Studio Code pro Windows nebo Linux.
- Nainstalujte CMake a Ninja pro Windows nebo Linux.
- Instalace sady Azure Sphere SDK pro Windows nebo Linux
- Zvolte tenanta a deklarujte své zařízení.
- Konfigurace sítí a aktualizace operačního systému zařízení
Instalace sady nástrojů GNU Arm Embedded Toolchain
- Visual Studio 2022: Pokud používáte Visual Studio 2022, nainstalujte sadu GNU Arm Embedded Toolchain (arm-none-eabi) z webu pro vývojáře Arm.
- Visual Studio 2019: Sada nástrojů se automaticky nainstaluje s rozšířením Azure Sphere pro Visual Studio v sadě Visual Studio 2019. Pokud používáte Visual Studio 2019, pokračujte nastavením hardwaru pro zobrazení výstupu. Pokud jste ale sadu GNU Arm Embedded Toolchain nainstalovali ručně, visual Studio použije nainstalovanou verzi.
Pokud chcete nainstalovat sadu nástrojů, na webu pro vývojáře Arm najděte sadu nástrojů GNU Arm Embedded Toolchain (arm-none-eabi), která obsahuje kompilátor procesoru ARM Cortex-M4. Postupujte podle pokynů k stažení a instalaci kompilátoru pro vaši platformu operačního systému.
Visual Studio Code ve výchozím nastavení vyhledá sadu nástrojů a měla by najít nainstalovanou verzi. Pokud narazíte na problémy s sestavením související s sadou nástrojů, zkontrolujte rozšíření nastavení předvoleb>>>AzureSphere a ujistěte se, že "Azure Sphere: Arm Gnu Path" identifikuje instalační adresář GNU Arm Embedded Toolchain.
Nastavení hardwaru pro zobrazení výstupu
V současné době každé jádro v reálném čase podporuje UART pouze TX. RtApps může pomocí tohoto objektu UART odesílat výstup protokolu ze zařízení. Během vývoje a ladění aplikací obvykle potřebujete způsob, jak číst a zobrazovat výstup. Ukázka HelloWorld_RTApp_MT3620_BareMetal ukazuje, jak může aplikace zapisovat do objektu UART.
Pomocí adaptéru USB-to-serial, jako je FTDI Friend, připojte UART na jádru v reálném čase k portu USB na vašem počítači. K zobrazení výstupu budete také potřebovat emulátor terminálu k navázání sériového připojení s nastavením terminálu 115200-8-N-1 (115200 b/s, 8 bitů, bez paritní bitů, jeden bit zastavení).
Když budete chtít nastavit hardware pro zobrazování výstupu z aplikace RTApp, postupujte podle těchto kroků. Když budete chtít určit umístění kolíků, budete se muset podívat do dokumentace od výrobce vašeho hardwaru. Pokud používáte hardware, který odpovídá návrhu RDB (Reference Board Design) hardwaru MT3620, jako je sada MT3620 Dev Kit od Seeed Studios, pak vám může s určením umístění kolíků pomoct, když se podáváte na headery rozhraní RDB.
Připojte GND adaptéru USB na sériový port ke GND vývojové sady. U hardwaru typu MT3620 RDB je uzemnění (GND) na headeru 3, kolík 2.
Připojte výstup RX na adaptéru USB na sériový port k výstupu IOM4-0 TX na sadě Dev Kit. U hardwaru typu MT3620 RDB je IOM4-0 TX na headeru 3, kolík 6.
Připojte adaptér USB k sériovému portu k bezplatnému portu USB na vývojovém počítači a určete port, ke kterému sériovému zařízení je připojené.
Ve Windows spusťte Správce zařízení, vyberte Zobrazit>zařízení podle kontejneru a vyhledejte USB UART. Například FT232R USB UART označuje adaptér FTDI Friend.
V Linuxu zadejte následující příkaz:
dmesg | grep ttyUSB
Port by měl mít název ttyUSBn, kde n označuje číslo portu. Pokud příkaz
dmesg
vypíše několik portů USB, ten, který je připojený k obvykle poslední, která je hlášena jako připojená. Například v následujícím příkladu byste použili ttyUSB4:
~$ dmesg | grep ttyUSB [ 144.564350] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB0 [ 144.564768] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB1 [ 144.565118] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB2 [ 144.565593] usb 1-1.1.2: FTDI USB Serial Device converter now attached to ttyUSB3 [ 144.570429] usb 1-1.1.3: FTDI USB Serial Device converter now attached to ttyUSB4 [ 254.171871] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
Spusťte program emulátoru terminálu a otevřete terminál 115200-8-N-1 na port COM používaný adaptérem. Informace o určení portu a rychlosti najdete v dokumentaci k emulátoru terminálu.
Povolení vývoje a ladění
Než budete moct vytvořit ukázkovou aplikaci na zařízení Azure Sphere nebo pro ni vyvíjet nové aplikace, musíte povolit vývoj a ladění. Ve výchozím nastavení jsou zařízení Azure Sphere "uzamčena"; to znamená, že neumožňují načtení aplikací v rámci vývoje z počítače a neumožňují ladění aplikací. Příprava zařízení na ladění odebere toto omezení a načte software potřebný k ladění a odemkne možnosti zařízení, jak je popsáno v možnostech zařízení a komunikaci.
K ladění jader v reálném čase použijte příkaz azsphere device enable-development. Tento příkaz nakonfiguruje zařízení tak, aby přijímalo aplikace z počítače pro ladění a přiřazuje zařízení skupině vývojových zařízení, která neumožňuje aktualizace cloudových aplikací. Během vývoje a ladění aplikací byste měli ponechat zařízení v této skupině, aby aktualizace cloudových aplikací nepřepsaly aplikaci ve vývoji.
Ve Windows musíte přidat --enable-rt-core-debugging
parametr, který načte ladicí servery a požadované ovladače pro každý typ jádra na zařízení.
Pokud jste to ještě neudělali, přihlaste se k Azure Sphere:
azsphere login
Otevřete rozhraní příkazového řádku pomocí PowerShellu nebo příkazového řádku Windows s oprávněními správce. Parametr
--enable-rt-core-debugging
vyžaduje oprávnění správce, protože pro ladicí program nainstaluje ovladače USB.Zadejte tento příkaz:
azsphere device enable-development --enable-rt-core-debugging
Po dokončení příkazu zavřete okno, protože už není vyžadováno oprávnění správce. Osvědčeným postupem je vždy použít nejnižší oprávnění, které může provést úlohu.
Pokud příkaz azsphere device enable-development selže, nápovědu najdete v tématu Řešení potíží s Azure Sphere.
Stažení ukázkové aplikace
Aplikace InterCore Communications si můžete stáhnout takto:
- Nasměrujte prohlížeč na Prohlížeč ukázek Microsoftu.
- Do vyhledávacího pole zadejte "Azure Sphere".
- Ve výsledcích hledání vyberte Azure Sphere – Komunikace mezi jádry .
- Vyberte Stáhnout ZIP.
- Otevřete stažený soubor a extrahujte ho do místního adresáře.
Sestavování a spouštění partnerských aplikací
Spusťte Visual Studio. Vyberte Otevřít místní složku a přejděte do složky, do které jste extrahovali aplikace IntercoreComms.
Důležité
Pokud používáte Visual Studio 2022 verze 17.1 nebo novější a extrahovali jste ukázku IntercoreComms před vydáním Verze 22.02 Azure Sphere, musíte do složky projektu nejvyšší úrovně přidat soubor CMakeWorkspaceSettings.json.
Pokud nepoužíváte sadu MT3620 RDB, aktualizujte soubory app_manifest.json pro aplikace i definiční soubor hardwaru a CMakeLists.txt soubor pro aplikaci vysoké úrovně tak, aby odpovídal vašemu hardwaru.
Pokud se generování CMake nespustí automaticky, vyberte CMakeLists.txt soubor.
V sadě Visual Studio by měl výstup zobrazit>výstup>výstupu: Výstup CMake by měl zobrazovat zprávy
CMake generation started
a .CMake generation finished
Vyberte Sestavit>vše. Pokud nabídka není k dispozici, otevřete Průzkumník řešení, klikněte pravým tlačítkem na soubor CMakeLists.txt a vyberte Sestavit. Umístění výstupu aplikací IntercoreComms_HL &IntercoreComms RT se zobrazí v okně Výstup .
Vyberte Vybrat položku Po spuštění>IntercoreComms (Všechna jádra).
Vyberte Ladit ladění> nebo stisknutím klávesy F5 nasaďte a ladit aplikace.
V okně Výstup vyberte výstup z nabídky a vyberte Výstup zařízení. V okně Výstup by se měl zobrazit výstup aplikace vysoké úrovně:
Remote debugging from host 192.168.35.1, port 58817 High-level intercore comms application Sends data to, and receives data from a real-time capable application. Received 19 bytes: rt-app-to-hl-app-07 Sending: hl-app-to-rt-app-00 Sending: hl-app-to-rt-app-01
Emulátor připojeného terminálu by měl zobrazit výstup z programu podporujícího v reálném čase:
Sender: 25025d2c-66da-4448-bae1-ac26fcdd3627 Message size: 19 bytes: Hex: 68:6c:2d:61:70:70:2d:74:6f:2d:72:74:2d:61:70:70:2d:30:30 Text: hl-app-to-rt-app-00 Sender: 25025d2c-66da-4448-bae1-ac26fcdd3627 Message size: 19 bytes: Hex: 68:6c:2d:61:70:70:2d:74:6f:2d:72:74:2d:61:70:70:2d:30:31 Text: hl-app-to-rt-app-01
Ladicí program slouží k nastavení zarážek, kontrole proměnných a vyzkoušení dalších úloh ladění.
V editoru Visual Studio Code otevřete složku, ve které jste extrahovali aplikace IntercoreComms. Visual Studio Code zjistí soubor intercore.code-workspace a zeptá se, jestli chcete pracovní prostor otevřít. Výběrem možnosti Otevřít pracovní prostor otevřete aplikaci v reálném čase i aplikaci vysoké úrovně najednou.
Pokud nepoužíváte sadu MT3620 RDB, aktualizujte soubory app_manifest.json pro aplikace i definiční soubor hardwaru a CMakeLists.txt soubor pro aplikaci vysoké úrovně tak, aby odpovídal vašemu hardwaru.
Stisknutím klávesy F5 spusťte ladicí program. Pokud projekt ještě nebyl sestaven nebo pokud se soubory změnily a znovu se vyžadují, Visual Studio Code projekt sestaví před spuštěním ladění.
V okně výstupu Azure Sphere by se měla zobrazit zpráva, že probíhá nasazování, a cesty k sadě SDK a kompilátoru.
V okně výstupu by se měl zobrazit výstup aplikace vysoké úrovně:
Remote debugging from host 192.168.35.1, port 58817 High-level intercore comms application Sends data to, and receives data from a real-time capable application. Received 19 bytes: rt-app-to-hl-app-07 Sending: hl-app-to-rt-app-00 Sending: hl-app-to-rt-app-01
Emulátor připojeného terminálu by měl zobrazit výstup z programu podporujícího v reálném čase:
Sender: 25025d2c-66da-4448-bae1-ac26fcdd3627 Message size: 19 bytes: Hex: 68:6c:2d:61:70:70:2d:74:6f:2d:72:74:2d:61:70:70:2d:30:30 Text: hl-app-to-rt-app-00 Sender: 25025d2c-66da-4448-bae1-ac26fcdd3627 Message size: 19 bytes: Hex: 68:6c:2d:61:70:70:2d:74:6f:2d:72:74:2d:61:70:70:2d:30:31 Text: hl-app-to-rt-app-01
Pomocí funkcí ladění editoru Visual Studio Code můžete nastavit zarážky, zkontrolovat proměnné a vyzkoušet další úlohy ladění.
Řešení problému
Aplikace se může začít spouštět předtím, než OpenOCD vytvoří připojení. V důsledku toho můžou být zarážky nastavené v rané fázi kódu vynechány. Jednoduchým alternativním řešením je zpoždění spuštění aplikace, dokud se OpenOCD neváže.
Na začátek vstupního bodu aplikace RTCoreMain vložte následující kód. To způsobí, že aplikace zadá a zůstane ve
while
smyčce, dokud proměnnáf
nebude nastavená na hodnotu true.static _Noreturn void RTCoreMain(void) { . . . volatile bool f = false; while (!f) { // empty. } . . . }
Stisknutím klávesy F5 spusťte aplikaci laděním a pak se rozdělte do provádění.
V podokně ladění Místní hodnoty změňte hodnotu
f
z nuly na jednu.Projděte si kód obvyklým způsobem.
Při sestavování pomocí rozhraní příkazového řádku nejprve sestavíte a nasadíte aplikaci podporující v reálném čase a pak sestavíte a nasadíte aplikaci vysoké úrovně.
Sestavení a nasazení aplikace podporující v reálném čase
Přejděte do složky, do které jste extrahovali aplikace IntercoreComms, a pak vyberte složku IntercoreComms/IntercoreComms_RTApp_MT3620_BareMetal.
Otevřete soubor app_manifest.json a ověřte, že se ID komponenty aplikace vysoké úrovně zobrazuje v možnosti AllowedApplicationConnections.
Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo příkazového prostředí Linuxu. Přejděte do adresáře sestavení projektu.
V adresáři sestavení projektu na příkazovém řádku spusťte CMake s následujícími parametry:
cmake --preset <preset-name> <source-path>
--preset <preset-name>
Název přednastavení konfigurace sestavení definovaný v CMakePresets.json
--build <cmake-path>
Binární adresář, který obsahuje mezipaměť CMake. Pokud například spustíte CMake v ukázce Azure Sphere, příkaz sestavení bude
cmake --build out/ARM-Debug
.<source-path>
Cesta k adresáři, který obsahuje zdrojové soubory pro ukázkovou aplikaci. V tomto příkladu se úložiště ukázek Azure Sphere stáhlo do adresáře s názvem AzSphere.
Parametry CMake jsou oddělené mezerami. Znak pokračování řádku (^ pro příkazový řádek Windows, \ pro příkazový řádek Linuxu nebo ' pro PowerShell) lze použít pro čitelnost, ale nevyžaduje se.
Následující příklady ukazují příkazy CMake pro IntercoreComms RTApp:
Příkazový řádek Windows
cmake ^ --preset "ARM-Debug" ^ "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_RTApp_MT3620_BareMetal"
Windows PowerShell
cmake ` --preset "ARM-Debug" ` "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_RTApp_MT3620_BareMetal"
V adresáři sestavení projektu spusťte na příkazovém řádku Ninja sestavení aplikace a vytvořte soubor balíčku image.
ninja -C out/ARM-Debug
Ninja umístí výsledné soubory aplikace a .imagepackage do zadaného adresáře.
Ninja můžete vyvolat také prostřednictvím CMake pomocí následujícího příkazu:
cmake --build out/<binary-dir>
Nastavte
<binary-dir>
binární adresář, který obsahuje mezipaměť CMake. Pokud například spustíte CMake v ukázce Azure Sphere, příkaz sestavení budecmake --build out/ARM-Debug
.Při řešení potíží, zejména po provedení jakýchkoli změn příkazů CMake, odstraňte celý build a zkuste to znovu.
Odstraňte všechny aplikace, které jsou už na zařízení nasazené:
azsphere device sideload delete
Z adresáře sestavení projektu na příkazovém řádku načtěte balíček image, který ninja vytvořil:
azsphere device sideload deploy --image-package <path-to-imagepackage>
Aplikace se začne spouštět brzy po načtení.
Získejte ID komponenty pro image:
azsphere image-package show --image-package <path-to-imagepackage>
Příkaz vrátí všechna metadata balíčku image. ID komponenty aplikace se zobrazí v části Identita pro typ image aplikace. Příklad:
Image package metadata: Section: Identity Image Type: Application Component ID: <component id> Image ID: <image id>
Sestavení a nasazení aplikace vysoké úrovně
Přejděte do složky, do které jste extrahovali aplikace IntercoreComms, a pak vyberte složku IntercoreComms/IntercoreComms_HighLevelApp.
Otevřete soubor app_manifest.json a ověřte, že se ID komponenty RTApp zobrazuje v možnosti AllowedApplicationConnections.
Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo příkazového prostředí Linuxu. Přejděte do adresáře sestavení projektu.
V adresáři sestavení projektu na příkazovém řádku spusťte CMake s následujícími parametry:
cmake --preset <preset-name> <source-path>
--preset <preset-name>
Název přednastavení konfigurace sestavení definovaný v CMakePresets.json
--build <cmake-path>
Binární adresář, který obsahuje mezipaměť CMake. Pokud například spustíte CMake v ukázce Azure Sphere, příkaz sestavení bude
cmake --build out/ARM-Debug
.<source-path>
Cesta k adresáři, který obsahuje zdrojové soubory pro ukázkovou aplikaci. V tomto příkladu se úložiště ukázek Azure Sphere stáhlo do adresáře s názvem AzSphere.
Parametry CMake jsou oddělené mezerami. Znak pokračování řádku (^ pro příkazový řádek Windows, \ pro příkazový řádek Linuxu nebo ' pro PowerShell) lze použít pro čitelnost, ale nevyžaduje se.
Následující příklady ukazují příkazy CMake pro aplikaci vysoké úrovně IntercoreComms.
V adresáři sestavení projektu spusťte na příkazovém řádku Ninja sestavení aplikace a vytvořte soubor balíčku image.
ninja -C out/ARM-Debug
Ninja umístí výsledné soubory aplikace a .imagepackage do zadaného adresáře.
Ninja můžete vyvolat také prostřednictvím CMake pomocí následujícího příkazu:
cmake --build out/<binary-dir>
Nastavte
<binary-dir>
binární adresář, který obsahuje mezipaměť CMake. Pokud například spustíte CMake v ukázce Azure Sphere, příkaz sestavení budecmake --build out/ARM-Debug
.Při řešení potíží, zejména po provedení jakýchkoli změn příkazů CMake, odstraňte celý build a zkuste to znovu.
Z adresáře sestavení projektu na příkazovém řádku načtěte balíček image, který ninja vytvořil:
azsphere device sideload deploy --image-package <package-name>
Aplikace se začne spouštět brzy po načtení.
Získejte ID komponenty pro image:
azsphere image-package show --image-package <path-to-imagepackage>
Příkaz vrátí všechna metadata balíčku image. ID komponenty aplikace se zobrazí v části Identita pro typ image aplikace. Příklad:
Image package metadata: Section: Identity Image Type: Application Component ID: <component id> Image ID: <image id>
Spuštění partnerských aplikací s povoleným laděním
Pokud je aplikace spuštěná v reálném čase, zastavte ji.
azsphere device app stop --component-id <component id>
Znovu spusťte aplikaci pro ladění.
azsphere device app start --component-id <component id>
Tento příkaz vrátí jádro, na kterém je aplikace spuštěná.
<component id> App state: running Core : Real-time 0
Přejděte do složky Openocd pro složku sysroot, pomocí které byla aplikace vytvořena. Složky sysroot se instalují do instalační složky sady Azure Sphere SDK. Například ve Windows je složka ve výchozím nastavení nainstalována v
C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\openocd
linuxu a v systému Linux na adrese/opt/azurespheresdk/Sysroots/*sysroot*/tools/sysroots/x86_64-pokysdk-linux
.Spuštění
openocd
jako následující příklad ukazuje. V příkladu se předpokládá, že aplikace běží na jádru 0. Pokud aplikace běží na jádru 1, nahraďte "targets io0" za "targets io1".Otevřete nový příkazový řádek Azure Sphere (Windows Azure Sphere Classic CLI), standardní příkazový řádek nebo PowerShell (Rozhraní příkazového řádku Windows Azure Sphere) nebo okno terminálu (Linux).
Přejděte do složky, která obsahuje soubor .out aplikace podporující v reálném čase a spusťte
arm-none-eabi-gdb
, který je součástí gnu Arm 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 :4444. Nastavte cíl pro ladění.
target remote :4444
Teď můžete spouštět příkazy gdb do aplikace podporující v reálném čase. Přidejte zarážku na funkci HandleSendTimerDeferred:
break HandleSendTimerDeferred
Emulátor připojeného terminálu by měl zobrazit výstup z aplikace podporující v reálném čase.
Otevřete nový příkazový řádek Azure Sphere (Windows Azure Sphere Classic CLI), standardní příkazový řádek nebo PowerShell (Rozhraní příkazového řádku Windows Azure Sphere) nebo okno terminálu (Linux).
Přejděte do složky, která obsahuje soubor .imagepackage aplikace vysoké úrovně.
Pokud je aplikace na vysoké úrovni spuštěná, zastavte ji.
azsphere device app stop --component-id <component id>
Znovu spusťte aplikaci vysoké úrovně laděním.
azsphere device app start --component-id <component id> --debug-mode
Otevřete emulátor terminálu a vytvořte připojení Telnet nebo TCP k 192.168.35.2 na portu 2342 a zobrazte výstup aplikace vysoké úrovně.
Spusťte gdb pomocí následujícího příkazu:
Příkazový řádek Windows
"C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb.exe" IntercoreComms_HighLevelApp.out
Windows PowerShell
& "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb.exe" IntercoreComms_HighLevelApp.out
Poznámka:
Sada Azure Sphere SDK se dodává s více kořeny sysroot, aby aplikace mohly cílit na různé sady rozhraní API, jak je popsáno ve verzi modulu runtime aplikace, sysroots a beta rozhraníCH API. Složky sysroot se instalují do instalační složky sady Azure Sphere SDK v části Sysroots.
Nastavte cíl vzdáleného ladění na IP adresu 192.168.35.2 na portu 2345:
target remote 192.168.35.2:2345
Přidejte zarážku na funkci SendMessageToRTApp:
break SendMessageToRTApp
Pokračujte zadáním
c
, sledujte výstup v terminálu Telnet/TCP a pak přepněte na příkazový řádek nebo okno terminálu obsahující relaci ladění aplikace v reálném čase.Zadejte
c
pokračování a sledujte výstup v připojené sériové relaci.
Mezi relacemi ladění můžete pracovat a přepínat mezi aplikací podporujícími v reálném čase a aplikací vysoké úrovně. Ve dvou výstupních oknech by se měl zobrazit výstup podobný následujícímu:
Starting debugger....
Process /mnt/apps/25025d2c-66da-4448-bae1-ac26fcdd3627/bin/app created; pid = 40
Listening on port 2345
Remote debugging from host 192.168.35.1, port 56522
High-level intercore comms application
Sends data to, and receives data from a real-time capable application.
Sending: hl-app-to-rt-app-00
Sending: hl-app-to-rt-app-01
IntercoreComms_RTApp_MT3620_BareMetal
App built on: Nov 17 2020, 09:25:19
Sender: 25025d2c-66da-4448-bae1-ac26fcdd3627
Message size: 19 bytes:
Hex: 68:6c:2d:61:70:70:2d:74:6f:2d:72:74:2d:61:70:70:2d:30:30
Text: hl-app-to-rt-app-00
Pokud chcete ukončit každou ladicí relaci, zadejte q
do příkazového řádku gdb.
Další kroky
- Prozkoumání dalších ukázek pro aplikace podporující vysokou úroveň i aplikace v reálném čase
- Další informace o aplikacích Azure Sphere
- Další informace o vývojovém prostředí Azure Sphere