Udostępnij przez


Kompilator microsoft ASL

Wersja 5.0 kompilatora języka źródłowego MICROSOFT ACPI (ASL) obsługuje funkcje specyfikacji Advanced Configuration and Power Interface Specification, Revision 5.0 (ACPI 5.0 specification). Kompilator ASL jest dystrybuowany za pomocą zestawu Sterowników systemu Windows (WDK).

Pobierz zestaw sterowników systemu Windows (WDK)

Kompilator ASL (asl.exe) znajduje się w folderze Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify i Tools\x64\ACPIVerify katalogów zainstalowanego zestawu WDK, na przykład C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify.

Najpierw należy zainstalować zestaw SDK, a następnie zestaw WDK. Numery kompilacji dla dwóch zestawów muszą być zgodne.

Opcje wiersza polecenia

Kompilator ASL obsługuje kilka opcji wiersza polecenia. Aby wyświetlić listę informacji o wersji i dostępnych opcji wiersza polecenia, uruchom polecenie "asl /?" w oknie wiersza polecenia.

Użycie kompilatora ASL

Kompilator ASL obsługuje następujące opcje wiersza polecenia:

asl /?
asl [/nologo] /d <BinFile>
asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]
asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <ASLFile>
Option Description
? Wyświetl ten komunikat pomocy.
nologo Pomiń baner logo.
Fo=<AMLFile> Zastąpij nazwę pliku AML w bloku DefinitionBlock.
Fa=<ASMFile> Wygeneruj element . Plik ASM o nazwie <ASMFile>.
Fn=<NSDFile> Wygeneruj plik zrzutu przestrzeni nazw o nazwie <NSDFile>.
d Zrzuć plik binarny w postaci tekstowej.
u Cofnij utworzenie pliku AML do pliku . Plik ASL (domyślnie) lub . Plik LST.
tab=<TabSig> Usuń tabelę ASL z tabelą . Plik ASL (domyślnie) lub . Plik LST. Zrzuć tabelę inną niż ASL do pliku .TXT. Jeśli <właściwość TabSig> ma wartość "*", wszystkie tabele są po cenach dumpingowych do ACPI.TXT. <TabSig> może być również fizycznym adresem tabeli.
c Utwórz pliki binarne na podstawie tabel.

Korzystanie z funkcji ACPI-load kompilatora ASL firmy Microsoft

Podczas opracowywania systemu warto zasymulować różne konstrukcje systemu BIOS ACPI i przetestować je w systemie deweloperów. System operacyjny Windows umożliwia załadowanie niektórych tabel ACPI z rejestru systemu Windows zamiast z romu BIOS komputera. Korzystanie z tej funkcji wymaga uprawnień administratora, a także wymaga włączenia podpisywania testowego w systemie. W systemach obsługujących bezpieczny rozruch UEFI nie można włączyć podpisywania testowego, a funkcja ładowania tabel kompilatora nie może być używana, chyba że bezpieczny rozruch UEFI jest wyłączony lub zasady debugowania systemu Windows są zainstalowane w systemie.

Aby użyć funkcji ładowania tabeli, tabela ACPI do przeciążenia musi spełniać następujące wymagania:

  • Tabela, która ma być przeciążona, musi być już obecna w systemie BIOS ROM. Na przykład można przeciążyć dsDT; jeśli jednak maszyna nie ma dysku SSDT, nie można wymusić załadowania dysków SSDT z tego mechanizmu zastąpienia rejestru.

  • Tabela musi zawierać kod AML, który jest zwykle używany przez interpreter ACPI systemu Windows (sterownik Acpi.sys).

  • Tabela z najwyższym numerem wersji jest ładowana. Tabela załadowana do rejestru na potrzeby testowania musi mieć wyższy numer wersji niż ta sama tabela w romie SYSTEMU BIOS.

  • Tabela do załadowania musi być w formacie skompilowanym (AML) i załadowana do rejestru w prawidłowej lokalizacji z określonymi prawidłowymi parametrami. Opisany mechanizm jest przeznaczony do obsługi wszystkich aspektów ładowania tabeli i konfigurowania rejestru.

Warning

Proces opisany w tym temacie może pozostawić system Windows w stanie nieobsługiwalnym. Upewnij się, że masz dostęp do innego systemu operacyjnego z obsługą systemu plików NTFS (czyli "bezpieczną kompilacją") na tym samym komputerze przed podjęciem próby wykonania procedur opisanych tutaj. Ten proces jest dostarczany tylko dla deweloperów systemu i testerów i nie powinien być używany na żadnej maszynie istotnej do celów programistycznych lub produkcyjnych.

ACPI-table-load usage

Aby załadować tabelę ACPI do rejestru do celów testowych, kompilator ASL jest wywoływany w następujący sposób:

asl.exe /loadtable [-v] [-d] <AMLFile>

Gdzie AMLFile jest nazwą skompilowanego pliku AML zawierającego tabelę, którą chcesz załadować do rejestru.

Option Description
-v Verbose mode. Włącza dodatkowe dane wyjściowe debugowania z narzędzia.
-d Delete. Usuwa wcześniej załadowany plik AML z rejestru i usuwa wszystkie skojarzone klucze rejestru.

More resources