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ć.