Kurz: Vytvoření aplikace vysoké úrovně
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.
Aplikace vysoké úrovně běží v operačním systému Azure Sphere, používá knihovny aplikací Azure Sphere a může komunikovat s internetem a cloudovými službami. Základní informace o aplikacích vysoké úrovně najdete v přehledu aplikací Azure Sphere.
V tomto kurzu se naučíte:
- Příprava zařízení na vývoj a ladění
- Sestavení, spuštění a ladění aplikace vysoké úrovně
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 SDK pro Windows nebo Linux
- Zvolte tenanta a deklarujte své zařízení.
- Konfigurace sítí a aktualizace operačního systému zařízení
Příprava zařízení na vývoj 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 zkušební načtení. 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í pro zkušební načtení toto omezení odebere.
Příkaz azsphere device enable-development nakonfiguruje zařízení tak, aby přijímalo aplikace pro ladění, načte do zařízení ladicí server a přiřadí zařízení skupině 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.
Ujistěte se, že je zařízení Azure Sphere připojené k počítači a že je počítač připojený k internetu.
Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo příkazového prostředí Linuxu.
Zadejte tento příkaz:
azsphere device enable-development
Zobrazený výstup by měl vypadat přibližně takto:
Getting device capability configuration for application development. Downloading device capability configuration for device ID '<device ID>'. Successfully downloaded device capability configuration. Successfully wrote device capability configuration file 'C:\Users\user\AppData\Local\Temp\tmpD732.tmp'. Setting device group ID 'a6df7013-c7c2-4764-8424-00cbacb431e5' for device with ID '<device ID>'. Successfully disabled over-the-air updates. Enabling application development capability on attached device. Applying device capability configuration to device. Successfully applied device capability configuration to device. The device is rebooting. Installing debugging server to device. Deploying 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' to the attached device. Image package 'C:\Program Files (x86)\Microsoft Azure Sphere SDK\DebugTools\gdbserver.imagepackage' has been deployed to the attached device. Application development capability enabled. Successfully set up device '<device ID>' for application development, and disabled over-the-air updates. Command completed successfully in 00:00:38.3299276.
Pokud příkaz azsphere device enable-development selže, nápovědu najdete v tématu Řešení potíží s Azure Sphere.
Sestavení a spuštění aplikace vysoké úrovně pomocí editoru Visual Studio Code
V tomto kurzu se používá šablona Blink Azure Sphere, která je součástí rozšíření Azure Sphere pro Visual Studio Code. Blink šablona bliká na LED, abyste mohli ověřit, že je zařízení a nástroje Azure Sphere nainstalované a správně nastavené.
Spusťte Visual Studio Code. Vyberte Paletu příkazů Zobrazit>a zadejte Azure Sphere: Vygenerovat nový projekt.
V nabídce Šablony zvolte Blink.
Visual Studio Code pak zobrazí okno Průzkumník souborů. Přejděte do složky, kam chcete umístit aplikaci Blink. Visual Studio Code vytvoří ve vybraném umístění složku Blink a vygeneruje soubory sestavení pro aplikaci Blink. Měli byste vidět zprávy od CMake.
Otevřete soubor CMakeLists.txt a změňte nastavení TARGET_DIRECTORY a určete složku, která obsahuje definice hardwaru, který používáte. Ve výchozím nastavení TARGET_DIRECTORY určuje HardwareDefinitions/mt3620_rbd, který odpovídá vývojové sadě Seeed Azure Sphere MT3620:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "template_appliance.json")
Šablona obsahuje několik definic hardwaru. Pokud například používáte SEEED MT3620 Mini Dev Board, zadejte místo toho HardwareDefinitions/seeed_mt3620_mdb.
Stisknutím klávesy F5 sestavte a ladit projekt. 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í.
Počkejte několik sekund, než Visual Studio Code sestaví aplikaci, vytvoří balíček image, nasadí ho na panel a spustí ji v režimu ladění. Aktualizace stavu se zobrazí v podokně Výstup .
Nejprve CMake určuje, jestli se má aplikace sestavit. Pokud ano, fokus se přesune do podokna výstupu, který zobrazí výstup z CMake/Buildu.
V dalším kroku se v podokně výstupu zobrazí výstup z Azure Sphere při nasazování balíčku image do zařízení. Nakonec konzola ladění obdrží fokus a zobrazí výstup gdb.
Tip
Poznamenejte si umístění balíčku image, protože ho budete potřebovat při vytváření nasazení. V okně Výstup by se měla zobrazit zpráva "Sestavení souborů zapsaných do <cesty>", kde <cesta> představuje úplnou cestu ke složce sestavení aplikace Blink, obvykle končící na out\ARM-Debug nebo out/ARM-Debug.
Po krátké prodlevě byste měli vidět bliká dioda LED.
Nastavte zarážku někde v main.c a procházejte aplikací, abyste tak mohli prozkoumat funkce ladění nástroje Visual Studio Code pro Azure Sphere.
Sestavení a spuštění aplikace vysoké úrovně pomocí sady Visual Studio
V tomto kurzu se používá šablona Blink Azure Sphere, která je součástí rozšíření Azure Sphere pro Visual Studio. Blink šablona bliká na LED, abyste mohli ověřit, že je zařízení a nástroje Azure Sphere nainstalované a správně nastavené.
Pokud s sadou Visual Studio začínáte, zvažte rychlý start nebo prohlídku s asistencí, kde se dozvíte o navigaci a jejím používání.
Otevřete Visual Studio a vyberte Vytvořit nový projekt. Do vyhledávacího pole zadejte azure sphere, abyste získali seznam šablon Azure Sphere. V seznamu zvolte Blink azure Sphere.
Zadejte název a umístění projektu a pak vyberte Vytvořit.
Otevřete soubor CMakeLists.txt a změňte nastavení TARGET_DIRECTORY a určete složku, která obsahuje definice hardwaru, který používáte. Ve výchozím nastavení TARGET_DIRECTORY určuje HardwareDefinitions/mt3620_rbd, který odpovídá vývojové sadě Seeed Azure Sphere MT3620:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "template_appliance.json")
Šablona obsahuje několik definic hardwaru. Pokud například používáte SEEED MT3620 Mini Dev Board, zadejte místo toho HardwareDefinitions/seeed_mt3620_mdb.
V sadě Visual Studio vyberte Zobrazit>výstup a zobrazte podokno Výstup.
Ujistěte se, že je vaše zařízení připojené k počítači přes USB. V nabídce Nastavit spouštěcí položku vyberte aplikaci Azure Sphere (HLCore), kde je aplikace Azure Sphere názvem vaší aktuální aplikace vysoké úrovně, nebo stiskněte klávesu F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje aplikaci, vytvoří balíček image, načte ho na panel a spustí ji v režimu ladění. Zkušební načtení znamená, že aplikace je doručována přímo z počítače přes kabelové připojení, a nikoli prostřednictvím cloudu.
Tip
Poznamenejte si umístění balíčku image, protože ho budete potřebovat při vytváření nasazení. Ve výstupu>> výstupu zobrazit výstup zobrazit výstup výstupu><: Build, kde <cesta> je úplná cesta ke složce sestavení aplikace Blink, obvykle končící na out/ARM-Debug.
Ve výchozím nastavení se v podokně Výstup zobrazí výstup z výstupu zařízení. Pokud chcete zobrazit zprávy z ladicího programu, vyberte Ladit z rozevírací nabídky Zobrazit výstup z: Pomocí nabídky Ladění>systému Windows můžete také zkontrolovat demontáž, registraci nebo paměť programu.
Při spuštění programu by se měla zobrazit bliká led dioda.
Stažení ukázkové aplikace
Aplikaci HelloWorld 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 – Hello World .
- Vyberte Stáhnout ZIP.
- Otevřete stažený soubor a extrahujte ho do místního adresáře.
Sestavení ukázky
Pokud chcete vytvořit soubory buildu a .imagepackage pro ukázkovou aplikaci HelloWorld_HighLevelApp, postupujte takto.
V případě potřeby aktualizujte ukázku tak, aby cílil na váš hardware. Ve výchozím nastavení jsou ukázky cílového hardwaru, který se řídí návrhem referenční desky MT3620 (RDB), jako je sada MT3620 Development Kit od Seeed Studios. Další definice cílového hardwaru pro ukázkové aplikace jsou k dispozici v adresáři HardwareDefinitions úložiště Ukázek Azure Sphere. Například soubory definic hardwaru pro úvodní sadu Avnet MT3620 jsou v podadresáři HardwareDefinitions/avnet_mt3620_sk.
Otevřete CMakeLists.txt a aktualizujte parametr TARGET_DIRECTORY ve funkci azure_target_hardware_definition tak, aby ukazoval na podadresář vašeho hardwaru. Příklad:
azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "../../../HardwareDefinitions/avnet_mt3620_sk" TARGET_DEFINITION "sample_appliance.json")
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 Hello World vysoké úrovně:
Spusťte Ninja a sestavte aplikaci 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.
Spuštění ukázky
Pokud už vaše zařízení používá aplikaci, odstraňte ji:
azsphere device sideload delete
Přejděte do adresáře, který obsahuje dříve vytvořené soubory buildu a .imagepackage.
Načtěte balíček image do zařízení spuštěním příkazu azsphere device sideload deploy a zadáním balíčku image. Příklad:
azsphere device sideload deploy --image-package HelloWorld_HighLevelApp.imagepackage
Tento příkaz načte balíček image a spustí aplikaci. Měla by se zobrazit bliká dioda LED.
Ladění ukázky
Přejděte do adresáře, který obsahuje dříve vytvořené soubory buildu a .imagepackage.
Id komponenty získejte, pokud ho ještě nemáte:
azsphere image-package show --image-package HelloWorld_HighLevelApp.imagepackage
Pokud je aplikace spuštěná, zastavte ji a restartujte ji s
--debug-mode
možností:azsphere device app stop --component-id <ComponentId>
azsphere device app start --debug-mode --component-id <ComponentId>
Měli byste vidět tohle:
<ComponentId>
App state : debugging
GDB port : 2345
Output port : 2342
Core : High-level
Pomocí terminálového klienta vytvořte připojení Telnet nebo nezpracované připojení TCP ke čtení výstupního datového proudu z procesu. Jako IP adresu zadejte 192.168.35.2 a jako port zadejte 2342.
Otevřete rozhraní příkazového řádku pomocí PowerShellu nebo standardního příkazového řádku ve Windows nebo příkazového prostředí v Linuxu a předejte binární soubor aplikace .out z sestavení jako parametr. Tím se povolí úplné ladění zdrojového kódu.
Příkazový řádek Windows
"C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb" HelloWorld_HighLevelApp.out
Windows PowerShell
& "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb" HelloWorld_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
Spusťte všechny ostatní příkazy gdb, které zvolíte. Například následující příkazy nastaví zarážku po zadání na main() a pak po zarážce pokračujte v provádění.
break main
c
Další informace o ladění pomocí gdb naleznete v tématu GDB: GNU Project Debugger nebo jeden z dalších mnoha zdrojů na téma.
Další kroky
Vytvořili jste aplikaci vysoké úrovně, která se bude spouštět na zařízení Azure Sphere. Možná ho budete chtít upravit. Definice hardwaru popisují, jak upravit soubor JSON definice hardwaru a znovu vygenerovat přidružený hlavičkový soubor.
Dále se dozvíte, jak nasadit aplikaci vysoké úrovně z cloudu.
Viz také
Navštivte galerii Azure Sphere, kolekci inspirujících, nepotřebných a opakovaně použitelných skriptů, nástrojů a funkcí Azure Sphere.