Partilhar via


Depuração do kernel nos kits de avaliação de hardware NXP i.MX 8 e i.MX 9

Observação

Este artigo pressupõe familiaridade com os conceitos descritos em Introdução à depuração do Windows e Introdução ao WinDBG (modo kernel)

A depuração do kernel em NXP i.MX 8 e i.MX 9 Evaluation Kits (EVKs) permite depurar o driver do modo kernel e problemas do sistema operacional, como falhas de tela azul. As placas NXP EVK suportam depuração do kernel de rede (KDNET) pela porta ethernet e depuração de kernel serial (KDCOM) pela porta micro-USB.

Configurar a depuração do kernel de rede

A depuração do kernel de rede utiliza a porta ethernet da placa NXP EVK para se conectar ao computador host. A placa NXP EVK deve estar conectada à mesma rede à qual o computador host está conectado.

Além disso, as placas NXP i.MX 8M Plus EVK devem ser conectadas usando a porta ethernet marcada como ENET1. As placas NXP i.MX 93 EVK devem ser conectadas usando a porta ethernet marcada como ENET2.

Obter o módulo de extensibilidade KDNET kd_8003_1fc9.dll

kd_8003_1fc9.dll é o módulo de extensibilidade KDNET para a placa de interface de rede Ethernet nas placas NXP i.MX EVK. Obtenha kd_8003_1fc9.dll para a versão do Windows instalada na sua placa NXP EVK entrando em contato com a NXP.

Depois de ter kd_8003_1fc9.dll, copie-o para a pasta C:\windows\system32\ na placa NXP EVK.

Obter o endereço IP do seu computador host

No computador host, abra uma janela do Prompt de Comando ou do PowerShell e use ipconfig para obter o endereço IP.

ipconfig

Anote o endereço IPv4 ou IPv6 do adaptador de rede conectado à rede.

Ativar assinatura de teste na placa NXP

Abra um prompt de comando ou uma janela do PowerShell com privilégios de administrador e habilite a assinatura de teste no BCD.

bcdedit /set testsigning on

Ativar a depuração do kernel de rede na placa NXP

Primeiro, ative a depuração do kernel na placa NXP no BCD.

Observação

Se a Inicialização Segura estiver ativada, você terá que desativá-la para habilitar a depuração do kernel.

bcdedit /debug on

Em seguida, configure as configurações de depuração do kernel com o endereço IP do seu computador host, um número de porta e (opcionalmente) uma chave. O intervalo recomendado de portas de rede a serem usadas para depuração do kernel é 50000-50039.

bcdedit /dbgsettings net hostip:w.x.y.z port:n key:a.b.c.d

Reinicialize a placa NXP assim que terminar para que as configurações BCD entrem em vigor.

Anexe à placa NXP EVK com o depurador do núcleo de rede

Inicie o WinDBG no computador host com a arquitetura que corresponde à arquitetura do computador host (X64 ou Arm64). Quando ele for iniciado, vá para a guia Arquivo e selecione Anexar ao Kernel (ctrl + k). Em seguida, selecione a guia Rede e insira o número da porta e a chave que foram definidos no BCD na placa NXP EVK. Reinicialize a placa NXP EVK para anexar o depurador do kernel.

Configurar depuração do kernel serial

Observação

A depuração do kernel serial só é suportada nas seguintes placas NXP EVK:

  • NXP i.MX 8M Plus EVK
  • NXP i.MX 8M Quad EVK
  • NXP i.MX 8M Mini EVK
  • NXP i.MX 8M Nano EVK

Nas placas NXP EVK suportadas, um controlador serial é exposto através da porta micro-USB através de um chip FTDI serial-to-USB. Quando a porta micro-USB da placa EVK está conectada ao seu computador host, ela aparece no seu computador host como um conjunto de portas COM virtuais.

Instale o driver da porta COM virtual FTDI no computador host

No computador host, baixe o driver da porta COM virtual FTDI do site da FTDI e instale o driver.

O driver da porta COM virtual FTDI permite que as portas COM sejam enumeradas no computador host quando você o conecta à porta micro-USB nas placas NXP EVK.

Depois de instalar o driver FTDI, conecte seu computador host à porta micro-USB da placa NXP EVK. Abra o Gerenciador de dispositivos para verificar se quatro novas portas COM aparecem sob o tipo de dispositivo Portas.

Determinar qual das portas COM está ativa

Apenas uma das quatro portas COM virtuais apresentadas pelas placas NXP EVK está ativa. Determine qual deles está ativo conectando-se a cada porta COM usando um terminal serial (por exemplo, PuTTY) e observando a saída enquanto a placa NVK EVK é inicializada. Especifique 921600 como a velocidade ou taxa de transmissão ao se conectar à porta COM. Anote a porta COM que imprime dados de log no terminal serial durante a inicialização.

Ativar a depuração em série do kernel na placa NXP

Primeiro, habilite a depuração do kernel na placa NXP no BCD.

Observação

Se a Inicialização Segura estiver ativada, você terá que desativá-la para habilitar a depuração do kernel.

bcdedit /debug on

Em seguida, configure as configurações de depuração do kernel para depuração serial com debugport definido como 1 e baudrate definido como 115200.

bcdedit /dbgsettings serial debugport:1 baudrate:115200

Reinicialize a placa NXP assim que terminar para que as configurações BCD entrem em vigor.

Conecte-se à placa NXP EVK com o depurador do kernel serial

Inicie o WinDBG no computador host com a arquitetura que corresponde à arquitetura do computador host (X64 ou Arm64). Quando ele for iniciado, vá para a guia Arquivo e selecione Anexar ao Kernel (ctrl + k). Em seguida, selecione a guia COM e especifique a porta anterior (por exemplo, com5) e uma taxa de transmissão de 921600. Reinicialize a placa NXP EVK para que o depurador do kernel seja anexado.