Sdílet prostřednictvím


Sestavování a nasazování partnerských aplikací

Tato část popisuje, jak sestavovat, balit a nasazovat 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č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í pro ladění toto omezení odebere a načte software potřebný k ladění a odemkne funkce zařízení .

K ladění jader v reálném čase použijte příkaz az sphere 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řadí ho do skupiny zařízení Vývoj, 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.

Ve Windows musíte do zařízení přidat --enable-rt-core-debugging parametr , který načte ladicí servery a požadované ovladače pro každý typ jádra.

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

    az 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 instaluje ovladače USB pro ladicí program.

  3. Zadejte následující příkaz:

    az sphere device enable-development --enable-rt-core-debugging  --catalog <CatalogName>  --resource-group <ResourceGroupName>
    
  4. Po dokončení příkazu zavřete okno, protože oprávnění správce se už nevyžadují. Osvědčeným postupem je vždy použít nejnižší oprávnění, které může úkol provést.

Pokud příkaz az sphere 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č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 ladění toto omezení odebere a načte software potřebný k ladění a odemkne funkce zařízení, jak je popsáno v tématu Možnosti zařízení a komunikace.

K ladění jader v reálném čase použijte příkaz az sphere 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řadí ho do skupiny zařízení Vývoj, 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.

Ve Windows musíte do zařízení přidat --enable-rt-core-debugging parametr , který načte ladicí servery a požadované ovladače pro každý typ jádra.

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

    az 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 instaluje ovladače USB pro ladicí program.

  3. Zadejte následující příkaz:

    az sphere device enable-development --enable-rt-core-debugging
    
  4. Po dokončení příkazu zavřete okno, protože oprávnění správce se už nevyžadují. Osvědčeným postupem je vždy použít nejnižší oprávnění, které může úkol provést.

Pokud příkaz az sphere device enable-development selže s následující chybovou zprávou, nápovědu najdete v tématu Řešení potíží s Azure Sphere .

error: The device did not accept the device capability configuration. Please check the Azure Sphere OS on your device is up-to-date using 'az sphere device show-deployment-status'.

Vytváření partnerských aplikací pomocí sady Visual Studio

  1. 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 Aplikace Azure Sphere (všechna jádra), kde Azure Sphere App je název vašeho 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, vytváří balíčky imagí, načítá je bokem na panel a spouští je v režimu ladění. Zkušební načtení znamená, že se aplikace 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í výstupních balíčků 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 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 .

Vytváření partnerských aplikací pomocí editoru Visual Studio Code

  1. Otevřete složku obsahující vaše 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 aktivity 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 změnily soubory a vyžaduje se opětovné sestavení, visual Studio Code projekt před zahájením ladění sestaví.

  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í. V podokně Výstup uvidíte aktualizace stavu.

    Nejprve CMake určí, jestli je potřeba aplikace sestavit. Pokud ano, fokus se přesune do okna výstupu, ve kterém se zobrazí výstup z CMake/Buildu.

    Dále se v podokně výstupu zobrazí výstup, 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 v 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 několika kořeny systému, aby aplikace mohly 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.

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í 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 ve funkci AllowedApplicationConnections.

  3. Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo linuxového příkazového prostředí. 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ředvolby konfigurace sestavení definovaný v 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 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 příkaz Ninja, který sestaví aplikaci a vytvoří 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í 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é sestavení a zkuste to znovu.

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

    az sphere device sideload delete
    
  7. Z adresáře sestavení projektu na příkazovém řádku načtěte balíček image, který ninja vytvořil:

    az sphere 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:

    az sphere 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 bitové kopie aplikace. Příklad:

    ...
      "Identity": {
        "ComponentId": "<component-id>",
        "ImageId": "<image-id>",
        "ImageType": "Application"
      },
    ...
    

Sestavení a nasazení aplikace vysoké úrovně

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

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

  3. Otevřete rozhraní příkazového řádku pomocí PowerShellu, příkazového řádku Windows nebo linuxového příkazového prostředí. 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ředvolby konfigurace sestavení definovaný v 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 IntercoreComms vysoké úrovně.

    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 příkaz Ninja, který sestaví aplikaci a vytvoří 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í 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é sestavení 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:

    az sphere 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:

    az sphere 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 bitové kopie aplikace. Příklad:

      "ComponentId": "<component-ID>",
    ...
      "Identity": {
        "ComponentId": "<component-id>",
        "ImageId": "<image-id>",
        "ImageType": "Application"
      },
    ...