Membangun driver Arm64 dengan WDK

Dimulai dengan WDK versi 10.0.26100.1 (dirilis 22 Mei 2024), WDK sekarang mendukung pengembangan, pengujian, dan penyebaran driver pada komputer Arm64. WDK dapat diinstal dan dijalankan secara asli pada perangkat keras Arm64, selain emulasi driver x86 KMDF/UMDF2 yang didukung sebelumnya pada perangkat keras Arm64. Ada juga dukungan untuk debugging dan implementasi driver ke komputer target Arm64 dari komputer host Arm64 dan x64. Proses menginstal WDK pada mesin Arm64 akan secara otomatis mengidentifikasi dan menginstal semua dependensi yang diperlukan termasuk alat build, biner, dan pustaka.

Halaman ini menjelaskan cara membangun driver Arm64 dengan WDK.

Pengaturan

  1. Unduh Visual Studio 2022. Anda akan memerlukan minimal versi 17.0.0 atau yang lebih baru. Pastikan Anda memiliki komponen berikut yang terinstal:

    • MSVC v143 - VS 2022 C++ ARM64/ARM64EC library yang dimitigasi Spectre (Terbaru)
    • MSVC v143 - VS 2022 C++ x64/x86 librari yang dimitigasi Spectre (Terbaru)
    • C++ ATL untuk alat pengembangan v143 terbaru dengan Mitigasi Spectre (ARM64/ARM64EC)
    • C++ ATL untuk alat pengembangan v143 terbaru dengan mitigasi Spectre (x86 & x64)
    • C++ MFC untuk alat pembangunan versi v143 terbaru dengan mitigasi Spectre (ARM64/ARM64EC)
    • C++ MFC untuk alat build terbaru versi v143 dengan mitigasi Spectre (x86 & x64)
    • Windows Driver Kit
  2. Instal dan mulai ulang Visual Studio.

  3. Unduh Windows SDK. Pastikan Anda memiliki SDK versi 26100 (Windows 11, versi 24H2) atau yang lebih baru.

  4. Unduh WDK. Pastikan Anda memiliki WDK versi 26100 atau yang lebih baru.

Membangun driver Arm64 dengan WDK

  1. Di Visual Studio, buka solusi driver. Anda dapat menggunakan repositori Anda sendiri, atau salah satu dari repositori windows-driver-samples .

  2. Pilih Platform solusi dan pilih Configuration Manager.

    Cuplikan layar toolbar Visual Studio memperlihatkan opsi Configuration Manager di menu dropdown platform solusi.

  3. Di bawah Platform Solusi Aktif, pilih Baru.

    Cuplikan layar dialog Configuration Manager dengan opsi Baru disorot di bawah menu dropdown Platform Solusi Aktif.

  4. Dari Jenis atau Pilih Platform baru, pilih Arm64. Salin pengaturan dari Win32. Pilih OK dan Tutup.

    Cuplikan layar dialog Platform Solusi Baru dengan Arm64 dipilih sebagai platform target.

  5. Pilih Arm64 sebagai platform target dan bangun kembali.

Masalah yang diketahui

  • Integrasi:

    • Ketika kit Windows 11, versi 24H2 dan Windows 11, versi 22H2 diinstal, pembuatan driver KMDF untuk ARM64 dengan TargetPlatformVersion disetel ke Windows 11, versi 22H2 gagal karena adanya simbol eksternal yang tidak terselesaikan.
    • Men-debug driver dalam Visual Studio 2022 versi 17.2.0 dan 17.3 dengan Windows 11, WDK versi 22H2 tidak dimungkinkan.
  • Solusi sementara:

    • Perbarui Visual Studio ke versi 17.4.1 atau yang lebih baru untuk mengatasi masalah debugging.
    • Gunakan WinDbg untuk penelusuran kesalahan jika memperbarui Visual Studio bukanlah opsi.
    • Pertimbangkan untuk menggunakan versi Visual Studio yang lebih lama jika masalah kompatibilitas berlanjut.

Menggunakan Enterprise Windows Driver Kit (EWDK)

  • Gambaran Umum EWDK:

    • EWDK mencakup semua dependensi yang diperlukan dan dapat digunakan untuk membangun driver tanpa memerlukan penginstalan Visual Studio.
  • Membangun dengan EWDK:

    • Gunakan perintah berikut untuk membangun driver:

      Msbuild -p:Configuration=Release/Debug; Platform=ARM64
      

Untuk informasi selengkapnya, lihat Enterprise WDK (EWDK).

Pemecahan masalah

  • Konfigurasi di Visual Studio:

    • Di Visual Studio, konfigurasikan solusi driver untuk Arm64 dengan memilih platform Arm64 di Configuration Manager dan menyalin pengaturan dari Win32.
  • Pengujian dan Debugging:

    • Menguji dan men-debug driver pada perangkat Windows di Arm atau komputer virtual Windows 11 Arm64.

Lihat juga