Share via


Üst düzey uygulama oluşturma

Bu bölümde Azure Sphere üst düzey uygulamasını derleme, paketleme ve dağıtma işlemleri açıklanmaktadır.

Bu yönergeler örnek olarak HelloWorld_HighLevelApp örnek uygulamasını kullanır.

Önkoşullar

Cihazınızı geliştirme ve hata ayıklama için hazırlama

Azure Sphere cihazınızda örnek bir uygulama oluşturabilmeniz veya bunun için yeni uygulamalar geliştirebilmeniz için önce geliştirmeyi ve dışarıdan yüklemeyi etkinleştirmeniz gerekir. Varsayılan olarak, Azure Sphere cihazları "kilitlidir"; başka bir ifadeyle, geliştirme aşamasındaki uygulamaların bir bilgisayardan yüklenmesine izin vermezler ve uygulamaların hata ayıklamasına izin vermezler. Cihazı dışarıdan yüklemeye hazırlamak bu kısıtlamayı kaldırır.

az sphere device enable-development komutu, cihazı hata ayıklama için uygulamaları kabul etmek üzere yapılandırırken, hata ayıklama sunucusunu cihaza yükler ve cihazı bulut uygulaması güncelleştirmelerine izin vermeyen bir cihaz grubuna atar. Uygulama geliştirme ve hata ayıklama sırasında, bulut uygulaması güncelleştirmelerinin geliştirme aşamasındaki uygulamanın üzerine yazmaması için cihazı bu grupta bırakmanız gerekir.

  1. Azure Sphere cihazınızın bilgisayarınıza ve bilgisayarınızın İnternet'e bağlı olduğundan emin olun.

  2. PowerShell, Windows Komut İstemi veya Linux komut kabuğunu kullanarak bir komut satırı arabirimi açın.

  3. Aşağıdaki komutu girin:

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

    Aşağıdakine benzer bir çıkış görmeniz gerekir:

    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.
    

az sphere device enable-development komutu başarısız olursa yardım için bkz. Azure Sphere sorunlarını giderme.

Visual Studio'da hata ayıklama ile uygulamayı derleme ve dağıtma

  1. Cihazınızın USB ile bilgisayarınıza bağlı olduğundan emin olun. Başlangıç öğesini ayarla menüsünde Azure Sphere Uygulaması 'nı (HLCore) seçin; burada Azure Sphere Uygulaması geçerli üst düzey uygulamanızın adıdır veya F5 tuşuna basın.

    Uzak GDB Hata Ayıklayıcısı düğmesi

  2. Projeyi oluşturmanız istenirse Evet'i seçin. Visual Studio uygulamayı derler, bir görüntü paketi oluşturur, panoya dışarıdan yükler ve hata ayıklama modunda başlatır. Dışarıdan yükleme , uygulamanın bulut üzerinden değil kablolu bir bağlantı üzerinden doğrudan bilgisayardan teslim olduğu anlamına gelir.

    Görüntü paketinin GörüntüÇıkışı>Göster çıkışındaki görüntü kimliğine> dikkat edin: Derleme çıkışı. Görüntü kimliğini daha sonra Öğretici: Bulut dağıtımı oluşturma bölümünde kullanacaksınız.

  3. Varsayılan olarak, Çıkış penceresi Cihaz Çıkışı'ndan gelen çıkışı gösterir. Hata ayıklayıcıdan gelen iletileri görmek için Çıkışı göster: açılan menüsünden Hata Ayıkla'yı seçin. AyrıcaWindows menüsünden program ayrıştırma, yazmaçlar veya belleği > de inceleyebilirsiniz.

Visual Studio'da hata ayıklamadan uygulamayı derleme ve dağıtma

  1. Cihazınızın USB ile bilgisayarınıza bağlı olduğundan emin olun. Hata Ayıkla menüsünde Hata Ayıklama olmadan başlat'ı seçin veya Ctrl+F5 tuşlarına basın.

  2. Projeyi oluşturmanız istenirse Evet'i seçin. Visual Studio uygulamayı derler, bir görüntü paketi oluşturur, panoya dışarıdan yükler ve başlatır. Dışarıdan yükleme , uygulamanın bulut üzerinden değil kablolu bir bağlantı üzerinden doğrudan bilgisayardan teslim olduğu anlamına gelir.

  3. Varsayılan olarak, Çıkış penceresi Cihaz Çıkışı'ndan gelen çıkışı gösterir.

Hata ayıklama ile uygulamayı Visual Studio Code derleme ve dağıtma

  1. Projeyi derlemek ve hatalarını ayıklamak için F5 tuşuna basın. Proje daha önce oluşturulmamışsa veya dosyalar değişmişse ve yeniden derleme gerekiyorsa, Visual Studio Code hata ayıklama başlamadan önce projeyi oluşturur.

  2. Visual Studio Code uygulamayı derlemesi, bir görüntü paketi oluşturması, panoya dağıtması ve hata ayıklama modunda başlatması için birkaç saniye bekleyin. Bu arada Çıkış bölmesinde durum güncelleştirmelerini görürsünüz.

    İlk olarak, CMake uygulamanın derlenmesi gerekip gerekmediğini belirler. Bu durumda odak, CMake/Build çıkışını görüntüleyen çıkış penceresine geçer.

    Ardından, görüntü paketi cihaza dağıtıldığında Çıkış bölmesi sonucu gösterir. Son olarak, Hata Ayıklama Konsolu odağı alır ve hata ayıklayıcısı çıkışını gösterir.

Hata ayıklamadan uygulamayı Visual Studio Code derleme ve dağıtma

  1. Cihazınızın USB ile bilgisayarınıza bağlı olduğundan emin olun. Çalıştır menüsünde Hata Ayıklama olmadan başlat'ı seçin veya projeyi derlemek ve çalıştırmak için Ctrl+F5 tuşlarına basın. Proje daha önce oluşturulmamışsa veya dosyalar değişmişse ve yeniden derleme gerekiyorsa, Visual Studio Code projeyi oluşturur.

  2. Visual Studio Code uygulamayı derlemesi, bir görüntü paketi oluşturması, panoya dağıtması ve başlatması için birkaç saniye bekleyin. Bu arada Çıkış bölmesinde durum güncelleştirmelerini görürsünüz.

    İlk olarak, CMake uygulamanın derlenmesi gerekip gerekmediğini belirler. Bu durumda odak, CMake/Build çıkışını görüntüleyen çıkış penceresine geçer.

    Ardından, görüntü paketini cihaza dağıtırken çıkış penceresinde azsphere çıktısı gösterilir. Uygulama cihaza dağıtıldıktan sonra otomatik olarak başlatılır.

Uygulamayı derleme

Uygulamanızı derlemek için bilgisayarınızda doğru derleme araçlarını, üst bilgileri ve kitaplıkları (topluca sysroot olarak adlandırılır) bulmanız gerekir. Azure Sphere SDK'sı, uygulamaların Uygulama çalışma zamanı sürümü, sysroot'lar ve Beta API'lerinde açıklandığı gibi farklı API kümelerini hedefleyebilmesi için birden çok sysroot ile birlikte sunulur. Sysroots, Sysroots altındaki Azure Sphere SDK yükleme klasörüne yüklenir.

  1. Derleme işlemi sırasında oluşturulacak dosyaları içeren dizini oluşturun veya dizine gidin.

  2. Uygulamanız başka bir uygulamaya bağımlıysa, uygulamaları app_manifest.md dosyalarında iş ortağı olarak işaretleyin .

  3. Azure Sphere CMake işlevlerini gerektiği gibi çağırmak için uygulamanızın CMakeLists.txt dosyasını ekleyin veya güncelleştirin.

  4. Proje derleme dizininizden komut isteminde CMake'i aşağıdaki parametrelerle çalıştırın:

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

      CMakePresets.json dosyasında tanımlanan derleme yapılandırması önayar adı.

    • --build <cmake-path>

      CMake önbelleğini içeren ikili dizin. Örneğin, CMake'i bir Azure Sphere örneğinde çalıştırırsanız derleme komutu olacaktır cmake --build out/ARM-Debug.

    • <source-path>

      Örnek uygulamanın kaynak dosyalarını içeren dizinin yolu. Örnekte Azure Sphere örnek deposu AzSphere adlı bir dizine indirildi.

      CMake parametreleri boşluklarla ayrılır. Satır devamlılığı karakteri (Windows komut satırı için^, Linux komut satırı için \ veya PowerShell için ' ) okunabilirlik için kullanılabilir, ancak gerekli değildir.

    Aşağıdaki örneklerde Merhaba Dünya üst düzey uygulama için CMake komutları gösterilir.

    Windows Komut İstemi

    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. Uygulamayı derlemek ve görüntü paketi dosyasını oluşturmak için Ninja'yi çalıştırın:

    ninja -C out/ARM-Debug
    

    Ninja, sonuçta elde edilen uygulamayı ve .imagepackage dosyalarını belirtilen dizine yerleştirir.

    Aşağıdaki komutla CMake aracılığıyla Ninja'ya da çağrı yapabilirsiniz:

    cmake --build out/<binary-dir>
    

    CMake önbelleğini içeren ikili dizine ayarlayın <binary-dir> . Örneğin, CMake'i bir Azure Sphere örneğinde çalıştırırsanız derleme komutu olacaktır cmake --build out/ARM-Debug.

Uygulamayı dağıtma

Uygulamanın dışarıdan yüklenip hata ayıklama sunucusunun mevcut olduğundan emin olmak için cihazınızın appDevelopment özelliğine sahip olduğundan emin olun. az sphere device enable-development Gerekirse komutunu kullanın.

  1. Cihazınız zaten bir veya daha fazla uygulama çalıştırıyorsa bunları silin.

    az sphere device sideload delete
    

    Bu komutun cihazdaki tüm uygulamaları sildiğini unutmayın. Üst düzey uygulamaya iş ortağı olan bir RTApp'i zaten dağıttıysanız, hangi uygulamanın silineceğini belirtmek için parametresini kullanın --component-id . Uygulamanın bileşen kimliğini app_manifest.json dosyasında bulabilirsiniz.

  2. az sphere device sideload deploy komutunu çalıştırıp görüntü paketini belirterek görüntü paketini cihazınıza yükleyin. Örneğin:

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

    Uygulamanız çalışmaya başlamalıdır.

Daha sonra ve az sphere device app start --component-id <component ID> komutlarını kullanarak az sphere device app stop --component-id <component-ID> uygulamayı durdurabilir ve yeniden başlatabilirsiniz.