Bagikan melalui


Tutorial: Membuat aplikasi tingkat tinggi

Aplikasi tingkat tinggi berjalan di Azure Sphere OS, menggunakan pustaka aplikasi Azure Sphere, dan dapat berkomunikasi dengan internet dan dengan layanan berbasis cloud. Lihat Gambaran umum aplikasi Azure Sphere untuk informasi dasar tentang aplikasi tingkat tinggi.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Mempersiapkan perangkat Anda untuk pengembangan dan proses debug
  • Menyusun, menjalankan, dan men-debug aplikasi tingkat tinggi

Prasyarat

Mempersiapkan perangkat Anda untuk pengembangan dan proses debug

Sebelum dapat membuat aplikasi sampel di perangkat Azure Sphere atau mengembangkan aplikasi baru untuk aplikasi tersebut, Anda harus mengaktifkan pengembangan dan muat sisi. Secara default, perangkat Azure Sphere "terkunci"; yaitu, mereka tidak mengizinkan aplikasi yang sedang dikembangkan untuk dimuat dari komputer, dan mereka tidak mengizinkan proses debug aplikasi. Mempersiapkan perangkat untuk muat sisi akan menghapus batasan ini.

Perintah pengembangan mengaktifkan perangkat bola az mengonfigurasi perangkat untuk menerima aplikasi untuk proses debug, memuat server debugging ke perangkat, dan menetapkan perangkat ke grup perangkat yang tidak mengizinkan pembaruan aplikasi cloud. Selama pengembangan dan debugging aplikasi, Anda harus meninggalkan perangkat dalam grup ini sehingga pembaruan aplikasi cloud tidak menimpa aplikasi yang sedang dikembangkan.

  1. Pastikan bahwa perangkat Azure Sphere Anda tersambung ke komputer, dan komputer Anda tersambung ke internet.

  2. Buka antarmuka baris perintah menggunakan PowerShell, Windows Command Prompt, atau shell perintah Linux.

  3. Masukkan perintah berikut:

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

    Anda akan melihat output yang mirip dengan yang berikut ini:

    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.
    

Jika perintah pengembangan mengaktifkan perangkat bola az gagal, lihat Memecahkan masalah Azure Sphere untuk bantuan.

Buat dan jalankan aplikasi tingkat tinggi dengan Visual Studio Code

Tutorial ini menggunakan templat Azure Sphere Blink, yang merupakan bagian dari Azure Sphere Extension untuk Visual Studio Code. Templat Blink berkedip led sehingga Anda dapat memverifikasi bahwa perangkat dan alat Azure Sphere diinstal dan disiapkan dengan benar.

  1. Mulai Visual Studio Code. Pilih Tampilkan>Palet Perintah, lalu ketikkan "Azure Sphere: Hasilkan Proyek Baru".

  2. Pilih Berkedip dari menu Templat.

  1. Visual Studio Code lalu menampilkan jendela File Explorer. Navigasikan ke folder tempat Anda ingin menempatkan aplikasi Blink. Visual Studio Code membuat folder Blink di lokasi yang dipilih dan menghasilkan file build untuk aplikasi Blink. Anda akan melihat pesan dari CMake.

  2. Buka file CMakeLists.txt dan ubah pengaturan TARGET_DIRECTORY untuk menentukan folder yang berisi definisi untuk perangkat keras yang Anda gunakan. Secara default, TARGET_DIRECTORY menentukan HardwareDefinitions/mt3620_rbd, yang cocok dengan Kit Pengembangan Mt3620 Azure Sphere yang Dilihat:

    azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "template_appliance.json")
    

    Beberapa definisi perangkat keras disediakan dengan templat. Misalnya, jika Anda menggunakan SEEED MT3620 Mini Dev Board, tentukan HardwareDefinitions/seeed_mt3620_mdb sebagai gantinya.

  3. Tekan F5 untuk menyusun dan men-debug proyek. Jika proyek belum dibuat sebelumnya, atau jika file telah diubah dan dibuat ulang diperlukan, Visual Studio Code akan membuat proyek sebelum proses debug dimulai.

  4. Tunggu beberapa detik hingga Visual Studio Code menyusun aplikasi, membuat paket gambar, menyebarkannya ke papan, dan memulainya dalam mode debug. Anda akan melihat pembaruan status di panel Output di sepanjang jalan.

    Pertama, CMake menentukan apakah aplikasi perlu dibuat. Jika demikian, fokus akan bergeser ke panel output, yang menampilkan output dari CMake/Build.

    Berikutnya, panel output memperlihatkan output saat menyebarkan paket gambar ke perangkat. Akhirnya, Konsol Debug menerima fokus dan memperlihatkan output gdb.

    Tips

    Catat lokasi paket gambar Anda, karena Anda akan membutuhkannya saat membuat penyebaran. Anda akan melihat pesan seperti "File build ditulis ke <jalur>" di jendela Output , di mana <jalur> adalah jalur lengkap ke folder build aplikasi Blink Anda, biasanya berakhiran "out\ARM-Debug" atau "out/ARM-Debug".

  5. Setelah penundaan singkat, Anda akan melihat led berkedip.

  6. Atur titik hentian di suatu tempat di main.c dan telusuri aplikasi sehingga Anda dapat menjelajahi fitur Visual Studio Code debugging untuk Azure Sphere.

Susun dan jalankan aplikasi tingkat tinggi dengan Visual Studio

Tutorial ini menggunakan templat Azure Sphere Blink, yang merupakan bagian dari ekstensi Azure Sphere untuk Visual Studio. Templat Blink berkedip led sehingga Anda dapat memverifikasi bahwa perangkat dan alat Azure Sphere diinstal dan disiapkan dengan benar.

  1. Jika Anda baru menggunakan Visual Studio, pertimbangkan Mulai Cepat atau Tur Berpanduan untuk mempelajari tentang menavigasi dan menggunakannya.

  2. Buka Visual Studio, lalu pilih Buat proyek baru. Dalam kotak Search, ketikkan "azure sphere" untuk mendapatkan daftar templat Azure Sphere. Pilih Azure Sphere Blink dari daftar.

  3. Masukkan nama dan lokasi untuk proyek, lalu pilih Buat.

  4. Buka file CMakeLists.txt dan ubah pengaturan TARGET_DIRECTORY untuk menentukan folder yang berisi definisi untuk perangkat keras yang Anda gunakan. Secara default, TARGET_DIRECTORY menentukan HardwareDefinitions/mt3620_rbd, yang cocok dengan Kit Pengembangan Mt3620 Azure Sphere yang Dilihat:

    azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "HardwareDefinitions/mt3620_rdb" TARGET_DEFINITION "template_appliance.json")
    

    Beberapa definisi perangkat keras disediakan dengan templat. Misalnya, jika Anda menggunakan SEEED MT3620 Mini Dev Board, tentukan HardwareDefinitions/seeed_mt3620_mdb sebagai gantinya.

  5. Di Visual Studio, pilih Output Tampilan> untuk menampilkan panel Output.

  6. Pastikan perangkat Anda tersambung ke PC menggunakan USB. Di menu Atur item mulai , tekan F5 atau pilih Aplikasi Azure Sphere (HLCore)* di mana Aplikasi Azure Sphere adalah nama aplikasi tingkat tinggi Anda saat ini.

  7. Jika Diminta untuk menyusun proyek, pilih Ya. Visual Studio menyusun aplikasi, membuat paket gambar, memuat sisinya ke papan, dan memulainya dalam mode debug. Sideloading berarti bahwa aplikasi dikirim langsung dari PC melalui koneksi berkabel, daripada dikirimkan melalui cloud.

    Tips

    Catat lokasi paket gambar Anda, karena Anda akan membutuhkannya saat membuat penyebaran. Anda akan melihat pesan seperti "File outputberada di: <jalur>" dalam output dalam Output Tampilan>> Menampilkan output dari: Build, di mana <jalur> adalah jalur lengkap ke folder build aplikasi Blink Anda, biasanya berakhiran "out/ARM-Debug".

  8. Secara default, panel Output memperlihatkan output dari Output Perangkat. Untuk melihat pesan dari debugger, pilih Debug dari menu menurun Perlihatkan output dari: . Anda juga dapat memeriksa pembongkaran, pendaftaran, atau memori program melalui menu Debug>Windows .

  9. Ketika menjalankan program, Anda akan melihat led berkedip.

Unduh aplikasi sampel

Anda dapat mengunduh aplikasi HelloWorld sebagai berikut:

  1. Arahkan browser Anda ke Browser Sampel Microsoft.
  2. Ketikkan "Azure Sphere" dalam kotak Search.
  3. Pilih Azure Sphere - Halo Dunia dari hasil pencarian.
  4. Pilih Unduh ZIP.
  5. Buka file yang diunduh dan ekstrak ke direktori lokal.

Menyusun sampel

Untuk membuat file build dan .imagepackage untuk aplikasi sampel HelloWorld_HighLevelApp, ikuti langkah-langkah ini.

  1. Perbarui sampel untuk menargetkan perangkat keras Anda, jika perlu. Secara default, perangkat keras target sampel yang mengikuti desain papan referensi MT3620 (RDB), seperti MT3620 Development Kit dari Seeed Studios. Definisi perangkat keras target tambahan untuk aplikasi sampel tersedia di direktori HardwareDefinitions dari repo Sampel Azure Sphere. Misalnya, file definisi perangkat keras untuk Avnet MT3620 Starter Kit berada di subdirektori HardwareDefinitions/avnet_mt3620_sk.

    • Buka CMakeLists.txt dan perbarui parameter TARGET_DIRECTORY dalam fungsi azure_target_hardware_definition untuk mengarahkan ke subdirektori perangkat keras Anda. Misalnya:

      azsphere_target_hardware_definition(${PROJECT_NAME} TARGET_DIRECTORY "../../../HardwareDefinitions/avnet_mt3620_sk" TARGET_DEFINITION "sample_appliance.json")
      
  2. Buka antarmuka baris perintah menggunakan PowerShell, Windows Command Prompt, atau shell perintah Linux. Navigasikan ke direktori build proyek Anda.

  3. Dari direktori build proyek Anda, di prompt perintah, jalankan CMake dengan parameter berikut:

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

      Nama prasetel konfigurasi build seperti yang ditentukan dalam CMakePresets.json.

    • --build <cmake-path>

      Direktori biner yang berisi singgahan CMake. Misalnya, jika Anda menjalankan CMake di sampel Azure Sphere, perintah build adalah cmake --build out/ARM-Debug.

    • <source-path>

      Jalur direktori yang berisi file sumber untuk aplikasi sampel. Dalam contoh, penyimpanan sampel Azure Sphere diunduh ke direktori yang disebut AzSphere.

      Parameter CMake dipisahkan oleh spasi. Karakter kelanjutan baris (^ untuk baris perintah Windows, \ untuk baris perintah Linux, atau ' untuk PowerShell) dapat digunakan untuk keterbacaan, tetapi tidak diperlukan.

    Contoh berikut ini memperlihatkan perintah CMake untuk aplikasi Halo Dunia tingkat tinggi:

    Prompt Perintah 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"
    
  4. Jalankan Ninja untuk membangun aplikasi dan membuat file paket gambar:

    ninja -C out/ARM-Debug
    

    Ninja menempatkan aplikasi yang dihasilkan dan file .imagepackage dalam direktori yang ditentukan.

    Anda juga dapat memanggil Ninja melalui CMake dengan perintah berikut:

    cmake --build out/<binary-dir>
    

    Atur <binary-dir> ke direktori biner yang berisi singgahan CMake. Misalnya, jika Anda menjalankan CMake di sampel Azure Sphere, perintah build adalah cmake --build out/ARM-Debug.

    Saat memecahkan masalah, terutama setelah membuat perubahan pada perintah CMake, hapus seluruh build, lalu coba lagi.

Jalankan sampel

  1. Jika perangkat Anda sudah menjalankan aplikasi, hapus aplikasi:

    az sphere device sideload delete
    
  2. Ubah ke direktori yang berisi file build dan .imagepackage yang dibuat sebelumnya.

  3. Muat paket gambar ke perangkat Anda dengan menjalankan perintah penggunaan sideload perangkat az dan menentukan paket gambar. Misalnya:

    az sphere device sideload deploy --image-package HelloWorld_HighLevelApp.imagepackage
    

    Perintah ini memuat paket gambar dan memulai aplikasi. Anda akan melihat LED berkedip.

    Tips

    Perhatikan jalur paket gambar. Anda akan menggunakan paket gambar nanti dalam Mulai Cepat Penyebaran.

Debug sampel

  1. Ubah ke direktori yang berisi file build dan .imagepackage yang dibuat sebelumnya.

  2. Dapatkan ID komponen jika Anda belum memilikinya:

    az sphere image-package show --image-package HelloWorld_HighLevelApp.imagepackage
    
  3. Jika aplikasi berjalan, hentikan dan mulai ulang dengan --debug-mode opsi:

    az sphere device app stop --component-id <ComponentId>
    
    az sphere device app start --debug-mode --component-id <ComponentId>
    

    Anda akan melihat:

     ...
       "Identity": {
         "ComponentId": "<component-id>",
         "ImageId": "<image-id>",
         "ImageType": "Application"
       },
     ...
    
  4. Gunakan klien terminal untuk membuat koneksi Telnet atau TCP mentah untuk membaca aliran output dari proses. Tentukan 192.168.35.2 sebagai alamat IP dan 2342 sebagai port.

  5. Buka antarmuka baris perintah menggunakan PowerShell atau prompt perintah standar di Windows, atau perintah shell di Linux, dan keluarkan biner aplikasi .out dari build Anda sebagai parameter. Tindakan ini akan mengaktifkan proses debug kode sumber penuh.

    Prompt Perintah Windows

    "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb" HelloWorld_HighLevelApp.out
    

    Windows PowerShell

    & "C:\Program Files (x86)\Microsoft Azure Sphere SDK\Sysroots\*sysroot*\tools\gcc\arm-poky-linux-musleabi-gdb" HelloWorld_HighLevelApp.out
    

Catatan

SDK Azure Sphere dikirim dengan beberapa sysroot sehingga aplikasi dapat menargetkan kumpulan API yang berbeda, seperti yang dijelaskan dalam Versi runtime aplikasi, sysroot, dan API Beta. Sysroot diinstal di folder penginstalan Azure Sphere SDK di bawah Sysroots.

  1. Atur target debugging jarak jauh ke alamat IP 192.168.35.2 pada port 2345:

    target remote 192.168.35.2:2345

  2. Jalankan perintah gdb lainnya yang Anda pilih. Misalnya, perintah berikut ini mengatur titik hentian pada entri ke main() lalu melanjutkan eksekusi masing-masing setelah titik hentian.

    break main
    
    c
    

    Untuk informasi selengkapnya tentang debugging dengan gdb, lihat GDB: The GNU Project Debugger atau salah satu dari berbagai sumber lain pada subjek.

Langkah berikutnya

Anda telah membuat aplikasi tingkat tinggi untuk dijalankan di perangkat Azure Sphere Anda. Anda mungkin ingin mengubahnya sekarang. Definisi perangkat keras menjelaskan cara mengedit definisi perangkat keras file JSON dan menghasilkan kembali file header yang terkait.

Berikutnya, pelajari cara menyebarkan aplikasi tingkat tinggi Anda dari cloud.

Lihat juga

Kunjungi Azure Sphere Gallery, kumpulan skrip, utilitas, dan fungsi Azure Sphere yang inspiratif, tak tertandingi, dan dapat digunakan kembali.