Compartilhar via


Construindo drivers Arm64 com o WDK

A partir do WDK versão 10.0.26100.1 (lançado em 22 de maio de 2024), o WDK agora dá suporte ao desenvolvimento, teste e implantação de drivers em computadores Arm64. O WDK pode ser instalado e executado nativamente no hardware Arm64, além do suporte prévio à emulação de drivers x86 KMDF/UMDF2 no hardware Arm64. Há suporte para depuração e implantação de drivers em um computador de destino Arm64, tanto a partir de máquinas host Arm64 quanto x64. O processo de instalação do WDK em computadores Arm64 identificará e instalará automaticamente todas as dependências necessárias, incluindo ferramentas de build, binários e bibliotecas.

Esta página descreve como criar um driver Arm64 com o WDK.

Configuração

  1. Baixe o Visual Studio 2022. Você precisará, no mínimo, da versão 17.0.0 ou posterior. Verifique se você tem os seguintes componentes instalados:

    • MSVC v143 - VS 2022 C++ ARM64/ARM64EC bibliotecas mitigadas contra Spectre (Última versão)
    • MSVC v143 – VS 2022 C++ x64/x86 bibliotecas com mitigação de Spectre (mais recente)
    • ATL do C++ para as mais recentes ferramentas de build v143 com Mitigações de Espectro (ARM64/ARM64EC)
    • ATL do C++ para as mais recentes ferramentas de build v143 com Mitigações de Espectro (x86 & x64)
    • C++ MFC para as ferramentas de compilação v143 mais recentes com mitigações do Spectre (ARM64/ARM64EC)
    • MFC do C++ para as mais recentes ferramentas de build v143 com Mitigações de Espectro (x86 & x64)
    • Kit de Driver do Windows
  2. Instale e reinicie o Visual Studio.

  3. Baixe o SDK do Windows. Verifique se você tem o SDK versão 26100 (Windows 11, versão 24H2) ou posterior.

  4. Baixe o WDK. Verifique se você tem o WDK versão 26100 ou posterior.

Criando um driver Arm64 com o WDK

  1. No Visual Studio, abra uma solução de driver. Você pode usar o seu próprio, ou um do repositório de exemplos de driver do Windows .

  2. Selecione a plataforma Soluções e selecione o Configuration Manager.

    Captura de tela da barra de ferramentas do Visual Studio mostrando a opção Configuration Manager no menu suspenso da plataforma de solução.

  3. Em Plataforma de Solução Ativa, selecione Novo.

    Captura de tela da caixa de diálogo do Configuration Manager com a opção Novo realçada no menu suspenso da Plataforma de Solução Ativa.

  4. Em Digitar ou Selecionar nova Plataforma, selecione Arm64. Copiar configurações do Win32. Selecione OK e Fechar.

    Captura de tela da caixa de diálogo Nova Plataforma de Solução com o Arm64 selecionado como a plataforma de destino.

  5. Selecione Arm64 como a plataforma de destino e recompile.

Problemas conhecidos

  • Integração:

    • Quando os kits do Windows 11, versão 24H2, e do Windows 11, versão 22H2, estão instalados, a criação de um driver KMDF para ARM64 com TargetPlatformVersion definido como Windows 11, versão 22H2, falha devido a símbolos externos não resolvidos.
    • Não é possível a depuração de drivers nas versões 17.2.0 e 17.3 do Visual Studio 2022 com o Windows 11, versão 22H2 WDK.
  • Soluções alternativas:

    • Atualize o Visual Studio para a versão 17.4.1 ou posterior para resolver problemas de depuração.
    • Use o WinDbg para depuração se a atualização do Visual Studio não for uma opção.
    • Considere usar uma versão anterior do Visual Studio se os problemas de compatibilidade persistirem.

Usando o Enterprise Windows Driver Kit (EWDK)

  • Visão geral do EWDK:

    • O EWDK inclui todas as dependências necessárias e pode ser usado para criar drivers sem a necessidade de instalação do Visual Studio.
  • Construindo com o EWDK:

    • Use o seguinte comando para criar o driver:

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

Para obter mais informações, consulte Enterprise WDK (EWDK).

Resolução de problemas

  • Configuração no Visual Studio:

    • No Visual Studio, configure a solução de driver para Arm64 selecionando a plataforma Arm64 no Configuration Manager e copiando as configurações do Win32.
  • Teste e depuração:

    • Testar e depurar drivers em um dispositivo Windows on Arm ou em uma máquina virtual Windows 11 Arm64.

Consulte também