Bagikan melalui


Membuat aplikasi mitra

Cara term mudah untuk membuat sepasang aplikasi mitra baru adalah dengan membuat direktori tingkat atas untuk berisi aplikasi tingkat tinggi dan real-time yang berkemampuan, lalu membuat aplikasi berkemampuan tingkat tinggi dan real-time secara bergiliran.

Membuat aplikasi tingkat tinggi

Untuk membuat aplikasi tingkat tinggi, mulai dengan templat Kosong HLCore dari ekstensi Azure Sphere Visual Studio Code dan sesuaikan konfigurasi ke proyek Anda dengan mengikuti langkah-langkah berikut:

  1. Mulai Visual Studio Code. Pilih Tampilkan>Palet Perintah, lalu ketik Azure Sphere: Buat Proyek Baru.

    Bilah perintah dalam kode Visual Studio

  2. Pilih HLCore Kosong dari menu Templat.

    menu pop-up dengan nama templat

  3. Visual Studio Code lalu menampilkan jendela File Explorer. Navigasikan ke folder tempat Anda ingin menempatkan aplikasi kosong (atau pilih Folder Baru dan buat direktori proyek mitra tingkat atas baru) dan tentukan nama untuk proyek Anda, misalnya, NewHLApp. Visual Studio Code membuat folder NewHLApp di lokasi yang dipilih dan menghasilkan file build untuk aplikasi kosong. Anda akan melihat pesan dari CMake.

  4. Buka file CMakeLists.txt dan tentukan folder yang berisi definisi untuk perangkat keras yang Anda gunakan. Secara default, aplikasi HLCore Blank tidak berisi definisi perangkat keras. Anda dapat menemukan definisi perangkat keras sampel di penyimpanan Sampel Azure Sphere atau membuatnya seperti yang dijelaskan dalam Definisi perangkat keras.

    Berikut ini memperlihatkan cara menambahkan definisi perangkat keras sampel untuk Kit Pengembangan MT3620 Azure Sphere yang Terlihat:

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

    Baris ini harus disisipkan sebelum perintah akhir dimulai azsphere_target_add_image_package.

Anda juga dapat membuat aplikasi tingkat tinggi baru dari salah satu sampel Azure Sphere tingkat tinggi:

  1. Kloning sampel repo jika Anda belum melakukannya. Salin salah satu folder aplikasi tingkat tinggi dan ganti namanya untuk proyek Anda.

  2. Dalam file CMakeLists.txt, ubah nama proyek menjadi nama folder baru Anda. Misalnya:

    PROJECT(NewHLApp C)

Membuat RTApp

Untuk membuat aplikasi real-time baru, mulai dengan templat Kosong RTCore dari ekstensi Azure Sphere Visual Studio Code dan sesuaikan konfigurasi ke proyek Anda dengan mengikuti langkah-langkah berikut:

  1. Mulai Visual Studio Code. Pilih Tampilkan>Palet Perintah, lalu ketik Azure Sphere: Buat Proyek Baru.

    Bilah perintah dalam kode Visual Studio

  2. Pilih RTCore Kosong dari menu Templat.

    menu pop-up dengan nama templat

  3. Visual Studio Code lalu menampilkan jendela File Explorer. Navigasikan ke folder yang berisi folder aplikasi tingkat tinggi Anda dan tentukan nama untuk proyek Anda, misalnya, NewRTApp. Visual Studio Code membuat folder NewRTApp di lokasi yang dipilih dan menghasilkan file build untuk aplikasi kosong. Anda akan melihat pesan dari CMake.

Anda juga dapat membuat aplikasi real-time yang berkemampuan real-time dari salah satu sampel Azure Sphere yang berkemampuan real-time:

  1. Kloning sampel repo jika Anda belum melakukannya. Salin salah satu folder aplikasi tingkat tinggi dan ganti namanya untuk proyek Anda.

  2. Dalam file CMakeLists.txt, ubah nama proyek menjadi nama folder baru Anda. Misalnya:

    PROJECT(NewRTApp C)

Mengonfigurasi ruang kerja Anda untuk pengembangan aplikasi mitra

Untuk secara efektif bergabung dengan aplikasi tingkat tinggi dan aplikasi berkemampuan real-time untuk pengembangan, gabungkan dua aplikasi Anda ke dalam satu ruang kerja multi-akar sebagai berikut:

  1. Buka folder aplikasi tingkat tinggi di Visual Studio Code.

  2. Pilih Tambahkan Folder File>ke Ruang Kerja, lalu pilih folder aplikasi real-time yang berkemampuan.

  3. PilihSimpan Ruang Kerja SimpanFile> Sebagai..., lalu simpan file Anda dalam folder yang berisi aplikasi real-time yang berkemampuan dan tingkat tinggi.

  4. Buka file ruang kerja Anda di editor teks dan tambahkan informasi peluncuran berikut segera setelah "settings" baris:

    "launch": {
        "configurations": [{
            "name": "Launch Azure Sphere Apps (All Cores)",
            "type": "azurespheredbg",
            "request": "launch",
            "args": [],
            "stopAtEntry": false,
            "environment": [],
            "externalConsole": true,
            "partnerComponents": [],
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }],
        "compounds": []
    }

Lihat dokumentasi Visual Studio Code untuk informasi selengkapnya tentang ruang kerja multiakar.

Membuat aplikasi tingkat tinggi

Untuk membuat aplikasi tingkat tinggi baru, mulai dengan templat Kosong HLCore dari ekstensi Visual Studio Azure Sphere dan sesuaikan konfigurasi ke proyek Anda dengan mengikuti langkah-langkah ini:

  1. Mulai Visual Studio, lalu pilih Buat proyek baru.

  2. Ketik Azure Sphere dalam kotak pencarian berlabel Cari templat. Pilih Azure Sphere HLCore Kosong dari daftar yang dikembalikan, lalu pilih Berikutnya.

  3. Tentukan nama proyek (misalnya, NewHLApp), lokasi file proyek, dan nama solusi (yang bisa sama dengan nama proyek), lalu pilih Buat. Visual Studio membuat folder NewHLpp di lokasi yang dipilih dan menghasilkan file build untuk aplikasi kosong. Anda akan melihat pesan dari CMake.

  4. Buka file CMakeLists.txt dan tentukan folder yang berisi definisi untuk perangkat keras yang Anda gunakan. Secara default, aplikasi HL Kosong tidak berisi definisi perangkat keras. Anda dapat menemukan definisi perangkat keras sampel di penyimpanan Sampel Azure Sphere atau membuatnya seperti yang dijelaskan dalam Definisi perangkat keras.

    Berikut ini memperlihatkan cara menambahkan definisi perangkat keras sampel untuk Kit Pengembangan MT3620 Azure Sphere yang Terlihat:

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

    Baris ini harus disisipkan sebelum perintah akhir dimulai azsphere_target_add_image_package.

Anda juga dapat membuat aplikasi tingkat tinggi baru dari salah satu sampel Azure Sphere tingkat tinggi:

  1. Kloning sampel repo jika Anda belum melakukannya. Salin salah satu folder aplikasi tingkat tinggi dan ganti namanya untuk proyek Anda.

  2. Dalam file CMakeLists.txt, ubah nama proyek menjadi nama folder baru Anda. Misalnya:

    PROJECT(NewHLApp C)

Membuat RTApp

Untuk membuat aplikasi berkemampuan real-time baru, mulai dengan templat Kosong RTCore dari ekstensi Visual Studio Azure Sphere dan sesuaikan konfigurasi ke proyek Anda dengan mengikuti langkah-langkah berikut:

  1. Mulai Visual Studio, lalu pilih Buat proyek baru.

  2. Ketik Azure Sphere dalam kotak pencarian berlabel Cari templat. Pilih Azure Sphere RTCore Kosong dari daftar yang dikembalikan, lalu pilih Berikutnya.

  3. Tentukan nama proyek (misalnya, NewRTApp), lokasi file proyek, dan nama solusi yang Anda gunakan untuk aplikasi tingkat tinggi, lalu pilih Buat. Visual Studio membuat folder NewRTApp di lokasi yang dipilih dan menghasilkan file build untuk aplikasi kosong. Anda akan melihat pesan dari CMake.

Anda juga dapat membuat aplikasi real-time yang berkemampuan real-time dari salah satu sampel Azure Sphere yang berkemampuan real-time:

  1. Kloning sampel repo jika Anda belum melakukannya. Salin salah satu folder aplikasi yang berkemampuan real-time dan ganti namanya untuk proyek Anda.

  2. Dalam file CMakeLists.txt, ubah nama proyek menjadi nama folder baru Anda. Misalnya:

    PROJECT(NewRTApp C)

Membuat file peluncuran Visual Studio tingkat atas

Untuk bekerja dengan aplikasi mitra secara bersamaan, Anda ingin mengizinkan Visual Studio melakukan debug ke beberapa inti. Anda dapat mengaktifkannya dengan membuat file launch.vs.json di folder tingkat atas yang berisi dua folder aplikasi mitra. File ini harus memiliki konten yang mirip dengan yang berikut ini:

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "azurespheredbg",
      "name": "Azure Sphere Apps (All Cores)",
      "project": "PartnerAppsHL/CMakeLists.txt",
      "DebugBuildStepBuildAll": "true",
      "workingDirectory": "${workspaceRoot}",
      "applicationPath": "${debugInfo.target}",
      "imagePath": "${debugInfo.targetImage}",
      "targetCore": "AnyCore",
      "partnerComponents": [ "0cc81b35-08dd-4d65-b318-5fa73a4ff6b1", "a9d25f0a-807e-4cb9-80e8-80fee5a1bcb4" ]
    }
  ]
}

"project" Garis harus berisi jalur relatif ke file CMakeLists.txt aplikasi tingkat tinggi, dan "partnerComponents" garis harus memiliki ID komponen dari dua aplikasi mitra.

Setelah membuat file launch.vs.json tingkat teratas ini, Anda dapat membuka Visual Studio di folder tingkat atas dan Anda akan melihat opsi Aplikasi Azure Sphere (Semua Inti) di menu Pilih Item Mulai .

Membuat file CMakeWorkspaceSettings.json

Jika Anda menggunakan Visual Studio 2022, versi 17.1 atau yang lebih baru, dan Anda memiliki proyek dengan beberapa akar, seperti sampel IntercoreComms, Anda harus menambahkan file CMakeWorkspaceSettings.json ke folder tingkat atas proyek. File memiliki dua entri, satu untuk menentukan bahwa build CMake diaktifkan dan satu berisi jalur ke beberapa akar. Misalnya, untuk sampel IntercoreComms, CMakeWorkspaceSettings.json memiliki konten berikut:

{
  "enableCMake": true,
  "sourceDirectory": [ "IntercoreComms_HighLevelApp", "IntercoreComms_RTApp_MT3620_BareMetal" ]
}

Jalur ditentukan relatif terhadap folder yang berisi file CMakeWorkspaceSettings.json.

Membuat aplikasi tingkat tinggi

Untuk membuat aplikasi tingkat tinggi baru, mulai dengan salah satu sampel Azure Sphere tingkat tinggi:

  1. Kloning sampel repo jika Anda belum melakukannya. Salin salah satu folder aplikasi tingkat tinggi dan ganti namanya untuk proyek Anda.

  2. Dalam file CMakeLists.txt, ubah nama proyek menjadi nama folder baru Anda. Misalnya:

    PROJECT(NewHLApp C)

Membuat RTApp

Cara termampu untuk membuat aplikasi real-time yang berkemampuan baru adalah dengan memulai dengan sampel HelloWorld_RTApp_MT3620_BareMetal dan menyesuaikan konfigurasi ke proyek Anda dengan mengikuti langkah-langkah berikut:

  1. Kloning sampel repo jika Anda belum melakukannya. Salin folder HelloWorld_RTApp_MT3620_BareMetal dan ganti namanya untuk proyek Anda.

  2. Dalam file CMakeLists.txt, ubah nama proyek menjadi nama folder baru Anda. Misalnya:

    PROJECT(NewRTApp C)

Struktur file dasar aplikasi Azure Sphere

Tidak peduli bagaimana Anda membuat aplikasi, semua aplikasi Azure Sphere berbagi file inti berikut:

  • Kode sumber aplikasi dalam satu atau beberapa file. Saat ini, hanya kode sumber bahasa C yang didukung.
  • File build CMake. CMakeLists.txt diperlukan. CMake, bersama dengan utilitas build ninja ringan, digunakan untuk mengontrol proses build aplikasi Azure Sphere.
  • File manifes aplikasi yang menjelaskan kapabilitas yang tersedia untuk aplikasi.

Aplikasi tingkat tinggi biasanya akan memiliki setidaknya tiga file lainnya:

  • File applibs-versions.h untuk menentukan tingkat versi berbagai API Azure Sphere
  • Dua file definisi perangkat keras (versi yang dapat diedit dalam format JSON dan bahasa C menyertakan file yang dihasilkan darinya) yang menyediakan cara yang mudah untuk merujuk ke komponen perangkat keras dalam kode Anda. Dengan kumpulan file definisi perangkat keras yang konsisten, Anda dapat menulis kode sumber independen perangkat keras lalu membuat gambar aplikasi untuk perangkat keras tertentu cukup dengan menargetkan ulang file definisi perangkat keras yang sesuai dalam file CMakeLists.txt Anda.

Aplikasi berkemampuan real-time menambahkan setidaknya satu file lainnya: file linker.ld untuk menentukan dengan tepat di mana berbagai komponen aplikasi akan dimuat pada inti real-time.

Menulis kode aplikasi tingkat tinggi Anda

  1. Tulis kode aplikasi tingkat tinggi Anda, menggunakan sampel aplikasi tingkat tinggi Azure Sphere sebagai panduan. Topik berikut ini menjelaskan skenario implementasi tertentu:
  2. Dalam fileCMakeLists.txt:
    • Menentukan revisi alat SDK Azure Sphere
    • Tentukan kumpulan API target
    • Tentukan perangkat keras target
  3. Dalam file app_manifest.json:
    • Atur Name ke nama proyek Anda.
    • Tambahkan kapabilitas khusus aplikasi apa pun yang diperlukan kode Anda, seperti sumber daya perangkat keras atau koneksi. Jika aplikasi tingkat tinggi berkomunikasi dengan RTApp, tambahkan ID komponen aplikasi tingkat tinggi ke kapabilitas.AllowedApplicationConnections
  1. Jika Anda ingin menyebarkan RTApp bersama dengan aplikasi mitra tingkat tinggi, tambahkan ID komponen mitra ke bidang partnerComponents bagian konfigurasi dari file launch.vs.json (Visual Studio) atau .vscode/launch.json (Visual Studio Code):

    "partnerComponents": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]

Menulis kode RTApp Anda

  1. Tulis kode RTApp Anda, menggunakan sampel Azure Sphere RTApp sebagai panduan. Topik berikut ini menjelaskan skenario implementasi tertentu:
  2. Dalam file app_manifest.json:
    • Atur Name ke nama proyek Anda,
    • Atur ApplicationType ke "RealTimeCapable"
    • Tambahkan kapabilitas khusus aplikasi apa pun yang diperlukan kode Anda, seperti sumber daya perangkat keras atau koneksi. Jika RTApp berkomunikasi dengan aplikasi tingkat tinggi, tambahkan ID komponen aplikasi tingkat tinggi ke kemampuan tersebut AllowedApplicationConnections .
  1. Jika Anda ingin menyebarkan RTApp bersama dengan aplikasi mitra tingkat tinggi, tambahkan ID komponen mitra ke bidang partnerComponents bagian konfigurasi dari file launch.vs.json (Visual Studio) atau .vscode/launch.json (Visual Studio Code):

    "partnerComponents": [ "25025d2c-66da-4448-bae1-ac26fcdd3627" ]

Lihat juga