Vytvoření aplikace vysoké úrovně
Tato část popisuje, jak sestavit, zabalit a nasadit aplikaci Azure Sphere vysoké úrovně.
V těchto pokynech se jako příklad používá ukázková aplikace HelloWorld_HighLevelApp .
Požadavky
- Připojení zařízení Azure Sphere k počítači
- Instalace Azure Sphere
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čená"; to znamená, že neumožňují načítání aplikací ve vývoji z počítače a neumožňují ladění aplikací. Příprava zařízení na zkušební načtení toto omezení odebere.
Příkaz az sphere device enable-development nakonfiguruje zařízení tak, aby přijímalo aplikace pro ladění, načte ladicí server do zařízení a přiřadí zařízení ke skupině zařízení , která nepovoluje aktualizace cloudových aplikací. Během vývoje a ladění aplikací byste měli zařízení ponechat v této skupině, aby aktualizace cloudových aplikací nepřepsaly vyvíjenou aplikaci.
Ujistěte se, že je vaše zařízení Azure Sphere připojené k vašemu 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 linuxového příkazového prostředí.
Zadejte následující příkaz:
az sphere device enable-development --resource-group <ResourceGroupName> --catalog <CatalogName> --device <DeviceIdValue>
Měl by se zobrazit výstup podobný následujícímu:
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 az sphere device enable-development selže, nápovědu najdete v tématu Řešení potíží s Azure Sphere .
Sestavení a nasazení aplikace v sadě Visual Studio s laděním
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 (HLCore), kde Azure Sphere App je název vaší aktuální aplikace vysoké úrovně, nebo stiskněte F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje aplikaci, vytvoří balíček image, načte ji bokem na panel a spustí ji 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í . ID image použijete později v kurzu Vytvoření cloudového nasazení.
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 .
Sestavení a nasazení aplikace v sadě Visual Studio bez ladění
Ujistěte se, že je zařízení připojené k počítači přes USB. V nabídce Debug (Ladění ) vyberte Start without Debugging (Spustit bez ladění) nebo stiskněte ctrl+F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje aplikaci, vytvoří balíček image, načte ji bokem na panel a spustí ji. 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.
Ve výchozím nastavení se v okně Výstup zobrazuje výstup z výstupu zařízení.
Sestavení a nasazení aplikace v editoru Visual Studio Code s laděním
Stisknutím klávesy F5 sestavte a ladit projekt. Pokud projekt ještě nebyl sestaven nebo pokud se změnily soubory a vyžaduje se opětovné sestavení, visual Studio Code projekt před zahájením ladění sestaví.
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í. V podokně Výstup uvidíte aktualizace stavu.
Nejprve CMake určí, jestli je potřeba aplikaci sestavit. Pokud ano, fokus se přesune do okna výstupu, ve kterém se zobrazí výstup z CMake/Buildu.
Potom se v podokně Výstup zobrazí výsledek, když se balíček image nasadí do zařízení. Nakonec konzola ladění obdrží fokus a zobrazí výstup ladicího programu.
Sestavení a nasazení aplikace v editoru Visual Studio Code bez ladění
Ujistěte se, že je zařízení připojené k počítači přes USB. V nabídce Run (Spustit ) vyberte Start without Debugging (Spustit bez ladění ) nebo stiskněte Ctrl+F5 a sestavte a spusťte projekt. Pokud projekt ještě nebyl sestaven nebo pokud se změnily soubory a vyžaduje se opětovné sestavení, Visual Studio Code projekt sestaví.
Počkejte několik sekund, než Visual Studio Code sestaví aplikaci, vytvoří balíček image, nasadí ho na panel a spustí ho. V podokně Výstup uvidíte aktualizace stavu.
Nejprve CMake určí, jestli je potřeba aplikaci sestavit. Pokud ano, fokus se přesune do okna výstupu, ve kterém se zobrazí výstup z CMake/Buildu.
V dalším kroku se v okně výstupu zobrazí výstup z azsphere , který nasadí balíček image do zařízení. Aplikace se po nasazení do zařízení automaticky spustí.
Sestavení aplikace
K sestavení aplikace budete muset najít správné nástroje pro kompilaci, hlavičky a knihovny – souhrnně označované jako sysroot – v počítači. Sada Azure Sphere SDK se dodává s několika kořeny sysroot, takže aplikace můžou cílit na různé sady rozhraní API, jak je popsáno v tématu Verze modulu runtime aplikací, sysroots a beta rozhraní API. Sysroots se instalují do instalační složky sady Azure Sphere SDK v části Sysroots.
Vytvořte nebo přejděte do adresáře, který bude obsahovat soubory, které se mají vygenerovat během procesu sestavení.
Pokud vaše aplikace závisí na jiné aplikaci, označte aplikace jako partnery v jejich souborech app_manifest.md.
Přidejte nebo aktualizujte soubor CMakeLists.txt pro vaši aplikaci tak, aby podle potřeby volala funkce Azure Sphere CMake .
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ředvolby konfigurace sestavení definovaný v souboru CMakePresets.json.
--build <cmake-path>
Binární adresář, který obsahuje mezipaměť CMake. Pokud například spustíte CMake na 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) se dá použít pro čitelnost, ale nevyžaduje se.
Následující příklady ukazují příkazy CMake pro aplikaci Hello World vysoké úrovně.
Spuštěním ninja 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>
na binární adresář, který obsahuje mezipaměť CMake. Pokud například spustíte CMake na ukázce Azure Sphere, příkaz sestavení budecmake --build out/ARM-Debug
.
Nasazení aplikace
Ujistěte se, že vaše zařízení má funkci appDevelopment, abyste mohli aplikaci načíst bokem, a ujistěte se, že je k dispozici ladicí server.
az sphere device enable-development
V případě potřeby použijte příkaz .
Pokud na vašem zařízení už běží jedna nebo více aplikací, odstraňte je.
az sphere device sideload delete
Všimněte si, že tento příkaz odstraní všechny aplikace na zařízení. Pokud jste už nasadili aplikaci RTApp, která je partnerem aplikace vysoké úrovně, pomocí parametru
--component-id
určete, kterou aplikaci chcete odstranit. ID komponenty aplikace najdete v jejím souboru app_manifest.json.Načtěte balíček image do zařízení spuštěním příkazu az sphere device sideload deploy a zadáním balíčku image. Příklad:
az sphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
Vaše aplikace by měla začít běžet.
Aplikaci můžete později zastavit a restartovat pomocí az sphere device app stop --component-id <component-ID>
příkazů a az sphere device app start --component-id <component ID>
.