Vytváření a nasazová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.
Tato část popisuje, jak sestavit, zabalit a nasadit partnerské aplikace Azure Sphere.
Tyto pokyny používají ukázkové aplikace IntercoreComms jako příklad.
Požadavky
- Připojení zařízení Azure Sphere k počítači
- Instalace Azure Sphere
- Nainstalujte sadu nástrojů GNU Arm Embedded, pokud používáte Visual Studio Code nebo rozhraní příkazového řádku.
- Pokud jste to ještě neudělali, nastavte hardware tak, aby zobrazoval výstup z vyhrazeného objektu UART.
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.
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, příkazového řádku Windows nebo příkazového prostředí Linuxu 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 s následující chybovou zprávou, přečtěte si téma Řešení potíží s Azure Sphere, kde najdete nápovědu.
error: The device did not accept the device capability configuration. Please check the Azure Sphere OS on your device is up-to-date using 'azsphere device show-deployment-status'.
Vytváření partnerských aplikací pomocí sady Visual Studio
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 (všechna jádra), ve které je aplikace Azure Sphere názvem projektu nejvyšší úrovně, nebo stiskněte klávesu F5.
Pokud se zobrazí výzva k sestavení projektu, vyberte Ano. Visual Studio zkompiluje partnerské aplikace, vytvoří balíčky imagí, načte je na panel a spustí je v režimu ladění. Zkušební načtení znamená, že aplikace se doručují přímo z počítače přes kabelové připojení, nikoli prostřednictvím cloudu.
Všimněte si cest v zobrazení >výstupu>Zobrazit výstup z: Výstup sestavení, který označuje umístění balíčků výstupních imagí na vašem počítači. Až budete připraveni vytvořit nasazení, budete muset znát cesty k balíčkům imagí.
Ve výchozím nastavení se v okně 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.
Vytváření partnerských aplikací pomocí editoru Visual Studio Code
Otevřete složku obsahující partnerské aplikace. Visual Studio Code zjistí soubor pracovního prostoru 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.
Klikněte pravým tlačítkem na některý ze dvou CMakeLists.txt souborů a vyberte Sestavit všechny projekty.
Klikněte na ikonu Spustit na panelu aktivit editoru Visual Studio Code.
V rozevírací nabídce, která se zobrazí v horní části okna na levé straně obrazovky, vyberte Spustit aplikace Azure Sphere (gdb)(pracovní prostor).
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í aplikace, vytvoří balíčky imagí, nasadí je na panel a spustí je v režimu ladění. Aktualizace stavu se zobrazí v podokně Výstup .
Nejprve CMake určuje, jestli je potřeba sestavit aplikace. 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 podokně výstupu zobrazí výstup azsphere, který nasadí balíček image do zařízení. Nakonec konzola ladění obdrží fokus a zobrazí výstup gdb.
Kompilace a sestavení aplikace
Pokud chcete vytvářet aplikace pomocí rozhraní příkazového řádku, budete muset na svém počítači najít správné nástroje pro kompilaci, hlavičky a knihovny ( souhrnně označované jako sysroot). 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.
Při sestavování pomocí rozhraní příkazového řádku nejprve sestavte a nasaďte aplikaci podporující v reálném čase a pak sestavte a nasaďte aplikaci vysoké úrovně.
Sestavení a nasazení aplikace podporující v reálném čase
Přejděte do složky obsahující vaši aplikaci podporující v reálném čase.
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 obsahující vaši aplikaci vysoké úrovně.
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: 25025d2c-66da-4448-bae1-ac26fcdd3627 Image ID: 49d3cb5b-0300-4e1f-904d-b730c7933c3f