Sdílet prostřednictvím


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

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í.

  1. Pokud jste to ještě neudělali, přihlaste se k Azure Sphere:

    azsphere login
    
  2. 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.

  3. Zadejte tento příkaz:

    azsphere device enable-development --enable-rt-core-debugging
    
  4. 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í.

  1. Pokud jste to ještě neudělali, přihlaste se k Azure Sphere:

    azsphere login
    
  2. 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.

  3. Zadejte tento příkaz:

    azsphere device enable-development --enable-rt-core-debugging
    
  4. 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

  1. 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.

    Tlačítko vzdáleného ladicího programu GDB

  2. 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í.

  3. 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

  1. 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.

  2. Klikněte pravým tlačítkem na některý ze dvou CMakeLists.txt souborů a vyberte Sestavit všechny projekty.

  3. Klikněte na ikonu Spustit na panelu aktivit editoru Visual Studio Code.

  4. V rozevírací nabídce, která se zobrazí v horní části okna na levé straně obrazovky, vyberte Spustit aplikace Azure Sphere (gdb)(pracovní prostor).

  5. 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í.

  6. 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

  1. Přejděte do složky obsahující vaši aplikaci podporující v reálném čase.

  2. Otevřete soubor app_manifest.json a ověřte, že se ID komponenty aplikace vysoké úrovně zobrazuje v možnosti AllowedApplicationConnections.

  3. 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.

  4. 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"
    
  5. 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í bude cmake --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.

  6. Odstraňte všechny aplikace, které jsou už na zařízení nasazené:

    azsphere device sideload delete
    
  7. 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í.

  8. 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ě

  1. Přejděte do složky obsahující vaši aplikaci vysoké úrovně.

  2. Otevřete soubor app_manifest.json a ověřte, že se ID komponenty RTApp zobrazuje v možnosti AllowedApplicationConnections.

  3. 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.

  4. 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.

    Příkazový řádek Windows

    cmake ^
    --preset "ARM-Debug" ^
    "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_HighLevelApp"
    

    Windows PowerShell

    cmake `
    --preset "ARM-Debug" `
    "C:\AzSphere\azure-sphere-samples\Samples\IntercoreComms\IntercoreComms_HighLevelApp"
    
  5. 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í bude cmake --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.

  6. 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í.

  7. 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