Udostępnij za pośrednictwem


Debugowanie jądra w zestawach ewaluacyjnych NXP i.MX 8 i i.MX 9

Notatka

W tym artykule założono, że czytelnik jest zaznajomiony z pojęciami opisanymi w Podstawy debugowania systemu Windows i Podstawy pracy z WinDBG (tryb jądra)

Debugowanie jądra w zestawach ewaluacyjnych NXP i.MX 8 i i.MX 9 umożliwia debugowanie sterowników działających w trybie jądra oraz rozwiązywanie problemów z systemem operacyjnym, takich jak awarie niebieskiego ekranu. Płyty NXP EVK obsługują debugowanie jądra sieci (KDNET) za pośrednictwem portu ethernet i debugowania jądra szeregowego (KDCOM) za pośrednictwem portu micro-USB.

Konfigurowanie debugowania jądra sieci

Debugowanie jądra sieci używa portu Ethernet płyty NXP EVK do nawiązania połączenia z komputerem hosta. Tablica NXP EVK musi być podłączona do tej samej sieci, z którą jest połączony komputer-host.

Ponadto, NXP i.MX 8M Plus EVK płytki muszą być podłączone przy użyciu portu ethernet oznaczonego ENET1. Tablice NXP i.MX 93 EVK muszą być podłączone przy użyciu portu ethernet oznaczonego jako ENET2.

Uzyskiwanie modułu rozszerzalności KDNET kd_8003_1fc9.dll

kd_8003_1fc9.dll to moduł rozszerzalności KDNET dla karty sieciowej Ethernet na tablicach NXP i.MX EVK. Uzyskaj kd_8003_1fc9.dll dla wersji systemu Windows zainstalowanej na tablicy NXP EVK, wychodząc do NXP.

Gdy już masz kd_8003_1fc9.dll, skopiuj go do folderu C:\windows\system32\ na płycie NXP EVK.

Uzyskiwanie adresu IP komputera-hosta

Na komputerze hosta otwórz wiersz polecenia lub okno programu PowerShell i użyj ipconfig, aby uzyskać adres IP.

ipconfig

Zanotuj adres IPv4 lub IPv6 karty sieciowej podłączonej do sieci.

Włączanie podpisywania testowego na tablicy NXP

Otwórz wiersz polecenia lub okno programu PowerShell z uprawnieniami administratora i włącz logowanie testowe w usłudze BCD.

bcdedit /set testsigning on

Włączanie debugowania jądra sieci na tablicy NXP

Najpierw włącz debugowanie jądra na tablicy NXP w usłudze BCD.

Notatka

Jeśli bezpieczny rozruch jest włączony, należy wyłączyć go, aby włączyć debugowanie jądra.

bcdedit /debug on

Następnie skonfiguruj ustawienia debugowania jądra przy użyciu adresu IP komputera hosta, numeru portu i (opcjonalnie) klucza. Zalecany zakres portów sieciowych używanych do debugowania jądra to 50000–50039.

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

Uruchom ponownie płytkę NXP po zakończeniu, aby ustawienia BCD zaczęły obowiązywać.

Podłącz się do płyty NXP EVK korzystając z debugera jądra sieci

Uruchom narzędzie WinDBG na komputerze hosta z architekturą zgodną z architekturą komputera hosta (X64 lub Arm64). Po uruchomieniu przejdź do karty Plik i wybierz pozycję Dołącz do jądra (ctrl + k). Następnie wybierz kartę Net i wprowadź numer portu oraz klucz ustawiony w BCD na płycie NXP EVK. Uruchom ponownie płytę NXP EVK, aby dołączyć debuger jądra.

Konfigurowanie debugowania jądra szeregowego

Notatka

Debugowanie jądra szeregowego jest obsługiwane tylko na następujących tablicach 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

Na obsługiwanych płytach NXP EVK kontroler szeregowy jest dostępny przez port micro-USB dzięki układowi FTDI konwertera serial-to-USB. Gdy port mikro-USB płyty EVK jest podłączony do komputera hosta, jest wyświetlany na komputerze hosta jako zestaw wirtualnych portów COM.

Instalowanie wirtualnego sterownika portu COM FTDI na komputerze hosta

Na komputerze hosta pobierz sterownik portu wirtualnego COM FTDI z witryny internetowej FTDI i zainstaluj sterownik.

Wirtualny sterownik portu COM FTDI umożliwia wyliczanie portów COM na komputerze hosta podczas łączenia go z portem micro-USB na tablicach NXP EVK.

Po zainstalowaniu sterownika FTDI połącz komputer hosta z portem micro-USB płyty NXP EVK. Otwórz Menedżera urządzeń, aby sprawdzić, czy w obszarze Typ urządzenia porty są wyświetlane cztery nowe porty COM.

Określanie, które porty COM są aktywne

Aktywne jest tylko jedno z czterech wirtualnych portów COM przedstawionych przez tablice NXP EVK. Ustal, który z nich jest aktywny, łącząc się z każdym portem COM przy użyciu terminalu szeregowego (na przykład PuTTY) i obserwując dane wyjściowe podczas rozruchu płyty EVK NVK. Określ wartość 921600 jako szybkość lub szybkość transmisji podczas nawiązywania połączenia z portem COM. Zanotuj port COM, który wyświetla dane logowania w terminalu szeregowym podczas rozruchu.

Włączanie debugowania jądra szeregowego na tablicy NXP

Najpierw włącz debugowanie jądra na tablicy NXP w usłudze BCD.

Notatka

Jeśli bezpieczny rozruch jest włączony, należy wyłączyć go, aby włączyć debugowanie jądra.

bcdedit /debug on

Następnie skonfiguruj ustawienia debugowania jądra na potrzeby debugowania szeregowego z portem debugowania ustawionym na 1, a prędkością transmisji ustawioną na 115200.

bcdedit /dbgsettings serial debugport:1 baudrate:115200

Uruchom ponownie płytkę NXP po zakończeniu, aby ustawienia BCD zaczęły obowiązywać.

Dołącz do płytki NXP EVK z szeregowym debugerem jądra

Uruchom narzędzie WinDBG na komputerze hosta z architekturą zgodną z architekturą komputera hosta (X64 lub Arm64). Po uruchomieniu przejdź do karty Plik i wybierz pozycję Dołącz do jądra (ctrl + k). Następnie wybierz kartę COM i określ wcześniej ustalony port (na przykład com5) oraz szybkość transmisji 921600. Uruchom ponownie płytę NXP EVK, aby debuger jądra mógł się do niej dołączyć.