Поделиться через


Создание драйверов Arm64 с помощью WDK

Начиная с версии WDK 10.0.26100.1 (выпущено 22 мая 2024 г.), WDK теперь поддерживает разработку, тестирование и развертывание драйверов на компьютерах Arm64. WDK можно установить и запустить изначально на оборудовании Arm64, помимо ранее поддерживаемой эмуляции драйверов x86 KMDF/UMDF2 на оборудовании Arm64. Кроме того, поддерживается отладка и развертывание драйверов на целевую машину Arm64 как с хост-машин Arm64, так и x64. Процесс установки WDK на компьютерах Arm64 автоматически определяет и устанавливает все необходимые зависимости, включая средства сборки, двоичные файлы и библиотеки.

На этой странице описывается, как создать драйвер Arm64 с помощью WDK.

Настройка

  1. Скачайте Visual Studio 2022. Вам потребуется минимальная версия 17.0.0 или более поздняя. Убедитесь, что установлены следующие компоненты:

    • MSVC версии 143 — библиотеки VS 2022 C++ ARM64/ARM64EC с защитой от уязвимостей Spectre (последняя версия)
    • MSVC версия 143 — библиотеки VS 2022 C++ x64/x86 с предотвращением уязвимостей Spectre (последняя версия)
    • ATL C++ для новейших средств сборки v143 с мерами защиты от Spectre (ARM64/ARM64EC)
    • C++ ATL для последних средств сборки v143 с минимизацией уязвимостей Spectre (x86 и x64)
    • C++ MFC для новейших средств сборки версии 143 с механизмами защиты от Spectre (ARM64/ARM64EC)
    • C++ MFC для последних средств сборки версии 143 с мерами защиты от уязвимостей Spectre (x86 & x64)
    • Комплект драйверов Windows
  2. Установите и перезапустите Visual Studio.

  3. Скачайте пакет SDK для Windows. Убедитесь, что у вас есть пакет SDK версии 26100 (Windows 11, версия 24H2) или более поздней версии.

  4. Скачайте WDK. Убедитесь, что у вас есть WDK версии 26100 или более поздней.

Создание драйвера Arm64 с помощью WDK

  1. В Visual Studio откройте решение драйвера. Вы можете использовать собственный пример или один из примеров драйверов Windows из репозитория .

  2. Выберите платформу решений и выберите Configuration Manager.
    Выбор диспетчера конфигурации из второго раскрывающегося списка на верхней панели инструментов.

  3. В разделе Платформа активных решенийвыберите Новый.
    выберите

  4. В типе или выборе новой платформывыберите Arm64. Скопируйте параметры из Win32. Выберите ОК и Закрыть.
    выбор целевого объекта сборки Arm64 из раскрывающегося списка на уровне панели инструментов.

  5. Выберите Arm64 в качестве целевой платформы и перестройте.

Известные проблемы

  1. Интеграция:

    • При установке комплекта Windows 11, версии 24H2, и комплекта Windows 11, версии 22H2, сборка драйвера KMDF для ARM64 при настройке TargetPlatformVersion на Windows 11, Версии 22H2 завершается ошибкой из-за неразрешенных внешних символов.
    • Отладка драйверов в Visual Studio 2022 версии 17.2.0 и 17.3 с Windows 11 версии 22H2 WDK невозможна.
  2. обходные пути:

    • Обновите Visual Studio до версии 17.4.1 или более поздней, чтобы устранить проблемы с отладкой.
    • Используйте WinDbg для отладки, если обновление Visual Studio не рассматривается.
    • Рекомендуется использовать более раннюю версию Visual Studio, если проблемы совместимости сохраняются.

Использование пакета драйверов Enterprise Windows (EWDK)

  1. Обзор EWDK:

    • EWDK включает все необходимые зависимости и может использоваться для сборки драйверов без установки Visual Studio.
  2. здания сEWDK:

    • Чтобы создать драйвер, используйте следующую команду:
      Msbuild -p:Configuration=Release/Debug; Platform=ARM64
      

Для получения дополнительной информации смотрите Enterprise WDK (EWDK).

Устранение неполадок

  1. конфигурация в Visual Studio:

    • В Visual Studio настройте решение драйвера для Arm64, выбрав платформу Arm64 в Configuration Manager и скопировав параметры из Win32.
  2. Тестирование и отладка:

    • Тестирование и отладка драйверов на устройстве с Windows на Arm или на виртуальной машине Windows 11 Arm64.

См. также