Udostępnij za pośrednictwem


Tworzenie aplikacji wysokiego poziomu

W tej sekcji opisano, jak tworzyć, pakować i wdrażać aplikację azure Sphere na wysokim poziomie.

W tych instrukcjach użyto przykładowej aplikacji HelloWorld_HighLevelApp.

Wymagania wstępne

Przygotowywanie urządzenia do opracowywania i debugowania

Zanim będzie można utworzyć przykładową aplikację na urządzeniu Azure Sphere lub opracować dla niej nowe aplikacje, musisz włączyć tworzenie i ładowanie bezpośrednie. Domyślnie urządzenia Usługi Azure Sphere są "zablokowane"; oznacza to, że nie zezwalają na aplikacje w trakcie projektowania, które mają być ładowane z komputera, i nie zezwalają na debugowanie aplikacji. Przygotowanie urządzenia do ładowania bezpośredniego usuwa to ograniczenie.

Polecenie az sphere device enable-development konfiguruje urządzenie do akceptowania aplikacji do debugowania, ładuje serwer debugowania na urządzenie i przypisuje urządzenie do grupy urządzeń , która nie zezwala na aktualizacje aplikacji w chmurze. Podczas tworzenia i debugowania aplikacji należy pozostawić urządzenie w tej grupie, aby aktualizacje aplikacji w chmurze nie zastępować aplikacji w trakcie opracowywania.

  1. Upewnij się, że urządzenie Azure Sphere jest podłączone do komputera i że komputer jest połączony z Internetem.

  2. Otwórz interfejs wiersza polecenia przy użyciu programu PowerShell, wiersza polecenia systemu Windows lub powłoki poleceń systemu Linux.

  3. Wprowadź następujące polecenie:

    az sphere device enable-development --resource-group <ResourceGroupName> --catalog <CatalogName> --device <DeviceIdValue>
    

    Powinny być widoczne dane wyjściowe podobne do następujących:

    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.
    

Jeśli polecenie az sphere device enable-development nie powiedzie się, zobacz Rozwiązywanie problemów z usługą Azure Sphere , aby uzyskać pomoc.

Tworzenie i wdrażanie aplikacji w programie Visual Studio za pomocą debugowania

  1. Upewnij się, że urządzenie jest podłączone do komputera za pomocą portu USB. W menu Ustaw element startowy wybierz pozycję Azure Sphere App (HLCore), gdzie aplikacja Azure Sphere to nazwa bieżącej aplikacji wysokiego poziomu lub naciśnij klawisz F5.

    Przycisk Zdalny debuger GDB

  2. Jeśli zostanie wyświetlony monit o skonstruowanie projektu, wybierz pozycję Tak. Visual Studio kompiluje aplikację, tworzy pakiet obrazów, pobiera go na tablicę i uruchamia w trybie debugowania. Ładowanie bezpośrednie oznacza, że aplikacja jest dostarczana bezpośrednio z komputera za pośrednictwem połączenia przewodowego, a nie dostarczana przez chmurę.

    Zwróć uwagę na identyfikator obrazu pakietu obrazów wwynikuwyświetlenia> pokazuwyjściowego> z: dane wyjściowe kompilacji. Identyfikator obrazu zostanie użyty w dalszej części samouczka Samouczek: Tworzenie wdrożenia w chmurze.

  3. Domyślnie w oknie Dane wyjściowe są wyświetlane dane wyjściowe z danych wyjściowych urządzenia. Aby wyświetlić wiadomości z debugera, wybierz debugowanie z menu rozwijanego Pokaż dane wyjściowe z . Możesz również sprawdzić dezasemblowanie programu, rejestry lub pamięć za pomocą menu Debugowanie>systemu Windows .

Tworzenie i wdrażanie aplikacji w programie Visual Studio bez debugowania

  1. Upewnij się, że urządzenie jest podłączone do komputera za pomocą portu USB. W menu Debugowanie wybierz pozycję Start bez debugowania lub naciśnij klawisze Ctrl+F5.

  2. Jeśli zostanie wyświetlony monit o skonstruowanie projektu, wybierz pozycję Tak. Visual Studio kompiluje aplikację, tworzy pakiet obrazów, pobiera go na tablicę i uruchamia. Ładowanie bezpośrednie oznacza, że aplikacja jest dostarczana bezpośrednio z komputera za pośrednictwem połączenia przewodowego, a nie dostarczana przez chmurę.

  3. Domyślnie w oknie Dane wyjściowe są wyświetlane dane wyjściowe z danych wyjściowych urządzenia.

Tworzenie i wdrażanie aplikacji w Visual Studio Code za pomocą debugowania

  1. Naciśnij klawisz F5, aby utworzyć i debugować projekt. Jeśli projekt nie został wcześniej utworzony lub pliki zostały zmienione i wymagane jest ponowne odbudowanie, Visual Studio Code utworze projekt przed rozpoczęciem debugowania.

  2. Poczekaj kilka sekund, aż Visual Studio Code zbudować aplikację, utworzyć pakiet obrazów, wdrożyć go na tablicy i uruchomić w trybie debugowania. Po drodze w okienku Dane wyjściowe będą wyświetlane aktualizacje stanu.

    Najpierw funkcja CMake określa, czy aplikacja musi zostać skonstruowana. Jeśli tak, fokus zostanie przeniesiony do okna wyjściowego, w którym zostaną wyświetlone dane wyjściowe Z CMake/Build.

    Następnie w okienku Dane wyjściowe jest wyświetlany wynik wdrożenia pakietu obrazów na urządzeniu. Konsola debugowania otrzymuje fokus i wyświetla dane wyjściowe debugera.

Tworzenie i wdrażanie aplikacji w Visual Studio Code bez debugowania

  1. Upewnij się, że urządzenie jest podłączone do komputera za pomocą portu USB. W menu Uruchom wybierz pozycję Start bez debugowania lub naciśnij klawisze Ctrl+F5 , aby utworzyć i uruchomić projekt. Jeśli projekt nie został wcześniej utworzony lub pliki zostały zmienione i wymagane jest ponowne odbudowanie, Visual Studio Code utworze projekt.

  2. Poczekaj kilka sekund, aż Visual Studio Code zbudować aplikację, utworzyć pakiet obrazów, wdrożyć go na tablicy i uruchomić. Po drodze w okienku Dane wyjściowe będą wyświetlane aktualizacje stanu.

    Najpierw funkcja CMake określa, czy aplikacja musi zostać skonstruowana. Jeśli tak, fokus zostanie przeniesiony do okna wyjściowego, w którym zostaną wyświetlone dane wyjściowe Z CMake/Build.

    Następnie w oknie danych wyjściowych są wyświetlane dane wyjściowe z azsphere podczas wdrażania pakietu obrazów na urządzeniu. Aplikacja zostanie uruchomiona automatycznie po jej wdrożeniu na urządzeniu.

Tworzenie aplikacji

Aby utworzyć aplikację, musisz znaleźć na komputerze odpowiednie narzędzia kompilacji, nagłówki i biblioteki — nazywane łącznie sysrootem. Zestaw SDK Azure Sphere jest dostarczany z wieloma sysrootami, dzięki czemu aplikacje mogą kierować różne zestawy interfejsów API, zgodnie z opisem w wersji środowiska wykonawczego aplikacji, sysrootach i interfejsach API beta. Sysroots są instalowane w folderze instalacji Azure Sphere SDK w obszarze Sysroots.

  1. Utwórz katalog lub przejdź do katalogu, który będzie zawierał pliki do wygenerowania w trakcie procesu tworzenia.

  2. Jeśli aplikacja zależy od innej aplikacji, oznacz aplikacje jako partnerów w plikach app_manifest.md.

  3. Dodaj lub zaktualizuj plik CMakeLists.txt aplikacji, aby w razie potrzeby wywołać funkcje CMake w usłudze Azure Sphere .

  4. W katalogu kompilacji projektu w wierszu polecenia uruchom program CMake z następującymi parametrami:

    cmake --preset <preset-name> <source-path>
    
    • --preset <preset-name>

      Wstępnie ustawiona nazwa konfiguracji kompilacji zdefiniowana w pliku CMakePresets.json.

    • --build <cmake-path>

      Katalog binarny zawierający pamięć podręczną CMake. Jeśli na przykład uruchomisz narzędzie CMake na przykładzie usługi Azure Sphere, polecenie kompilacji będzie miało wartość cmake --build out/ARM-Debug.

    • <source-path>

      Ścieżka katalogu zawierającego pliki źródłowe dla przykładowej aplikacji. W tym przykładzie repozytorium próbek azure Sphere zostało pobrane do katalogu o nazwie AzSphere.

      Parametry klucza CMake są oddzielone spacjami. Znak kontynuacji wiersza (^ dla wiersza polecenia systemu Windows, \dla wiersza polecenia systemu Linux lub ' dla programu PowerShell) może być używany w celu zwiększenia czytelności, ale nie jest wymagany.

    W poniższych przykładach pokazano polecenia CMake dla Hello world aplikacji wysokiego poziomu.

    Wiersz polecenia systemu Windows

    cmake ^
     --preset "ARM-Debug" ^
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    

    Windows PowerShell

    cmake `
     --preset "ARM-Debug" `
     "C:\AzSphere\azure-sphere-samples\Samples\HelloWorld\HelloWorld_HighLevelApp"
    
  5. Uruchom ninja, aby zbudować aplikację i utworzyć plik pakietu obrazów:

    ninja -C out/ARM-Debug
    

    Ninja umieszcza otrzymane pliki aplikacji i plików imagepackage w określonym katalogu.

    Możesz również wywołać ninja za pośrednictwem CMake za pomocą następującego polecenia:

    cmake --build out/<binary-dir>
    

    Ustaw <binary-dir> na katalog binarny, który zawiera pamięć podręczną CMake. Jeśli na przykład uruchomisz narzędzie CMake na przykładzie usługi Azure Sphere, polecenie kompilacji będzie miało wartość cmake --build out/ARM-Debug.

Wdrażanie aplikacji

Upewnij się, że urządzenie ma funkcję appDevelopment, dzięki czemu możesz załadować aplikację sideload i upewnić się, że serwer debugowania jest obecny. az sphere device enable-development W razie potrzeby użyj tego polecenia.

  1. Jeśli na urządzeniu działa już co najmniej jedna aplikacja, usuń je.

    az sphere device sideload delete
    

    Zwróć uwagę, że to polecenie powoduje usunięcie wszystkich aplikacji na urządzeniu. Jeśli już wdrożono aplikację RTApp, która jest partnerem w aplikacji wysokiego poziomu, użyj parametru --component-id , aby określić, którą aplikację usunąć. Identyfikator składnika aplikacji można znaleźć w pliku app_manifest.json.

  2. Załaduj pakiet obrazów na urządzenie, uruchamiając polecenie wdrażania az sphere device sideload i określając pakiet obrazów. Na przykład:

    az sphere device sideload deploy --image-package C:\Users\LocalSamples\HelloWorld\HelloWorld_HighLevelApp\out\ARM-Debug\HelloWorld_HighLevelApp.imagepackage
    

    Powinna zostać uruchomiona aplikacja.

Później możesz zatrzymać i ponownie uruchomić aplikację, używając az sphere device app stop --component-id <component-ID> poleceń i az sphere device app start --component-id <component ID> poleceń.