Condividi tramite


Compilatore MICROSOFT ASL

La versione 5.0 del compilatore ASL (Microsoft ACPI Source Language) supporta le funzionalità della specifica Advanced Configuration and Power Interface, Revisione 5.0 (specifica ACPI 5.0). Il compilatore ASL viene distribuito con Windows Driver Kit (WDK).

Scaricare Windows Driver Kit (WDK)

Il compilatore ASL (asl.exe) si trova nelle directory Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify e Tools\x64\ACPIVerify del WDK installato, C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerifyad esempio .

È necessario prima installare l'SDK, seguito da WDK. I numeri di compilazione per i due kit devono corrispondere.

Opzioni della riga di comando

Il compilatore ASL supporta diverse opzioni della riga di comando. Per elencare le informazioni sulla versione e le opzioni della riga di comando disponibili, eseguire il comando "asl /?" in una finestra del prompt dei comandi.

Utilizzo del compilatore ASL

Il compilatore ASL supporta le opzioni della riga di comando seguenti:

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>
Opzione Descrizione
? Stampare questo messaggio della Guida.
nologo Eliminare il banner del logo.
Fo=<AMLFile> Eseguire l'override del nome del file AML in DefinitionBlock.
Fa=<ASMFile> Generare un oggetto . File ASM con il nome <ASMFile>.
Fn=<NSDFile> Generare un file NameSpace Dump con il nome <NSDFile>.
d Eseguire il dump del file binario in formato testo.
u Annullare ilassemblaggio di un file AML in un oggetto . File ASL (impostazione predefinita) o . File LST.
tab=<TabSig> Separare la tabella ASL in un oggetto . File ASL (impostazione predefinita) o . File LST. Eseguire il dump di una tabella non ASL in un file di .TXT. Se <TabSig> è '*', viene eseguito il dump di tutte le tabelle in ACPI.TXT. <TabSig> può anche essere l'indirizzo fisico della tabella.
c Creare file binari da tabelle.

Uso della funzionalità ACPI-table-load del compilatore MICROSOFT ASL

Durante lo sviluppo del sistema, è utile avere un modo per simulare vari costrutti BIOS ACPI e testarli nel sistema di sviluppo. Il sistema operativo Windows consente il caricamento di determinate tabelle ACPI dal Registro di sistema di Windows anziché dal BIOS ROM del PC. L'uso di questa funzionalità richiede privilegi di amministratore e richiede anche che la firma di test sia abilitata nel sistema. Nei sistemi che supportano l'avvio protetto UEFI, la firma di test non può essere abilitata e la funzionalità di caricamento tabelle del compilatore non può essere usata a meno che l'avvio protetto UEFI non sia disabilitato o che il criterio di debug di Windows sia installato nel sistema.

Per utilizzare la funzionalità di caricamento tabelle, la tabella ACPI da sottoporre a overload deve soddisfare i requisiti seguenti:

  • La tabella da sottoporre a overload deve essere già presente nel BIOS ROM del sistema. Ad esempio, il DSDT può essere sottoposto a overload; Tuttavia, se il computer non ha un SSDT, non è possibile forzare il caricamento di un SSDT da questo meccanismo di override del Registro di sistema.

  • La tabella deve contenere codice AML normalmente utilizzato dall'interprete ACPI di Windows (il driver Acpi.sys).

  • Viene caricata la tabella con il numero di versione più alto. La tabella caricata nel Registro di sistema per il test deve avere un numero di versione superiore rispetto alla stessa tabella nella ROM BIOS.

  • La tabella da caricare deve essere in formato compilato (AML) e caricata nel Registro di sistema nel percorso corretto, con i parametri corretti specificati. Il meccanismo descritto è progettato per gestire tutti gli aspetti del caricamento della tabella e della configurazione del Registro di sistema.

Avviso

Il processo descritto in questo argomento potrebbe lasciare il sistema Windows in uno stato non di avvio. Assicurarsi di avere accesso a un altro sistema operativo con il supporto del file system NTFS (ovvero una "compilazione sicura") nello stesso computer prima di tentare le procedure descritte qui. Questo processo viene fornito solo per sviluppatori di sistema e tester e non deve essere usato in qualsiasi computer per scopi di sviluppo o produzione.

Utilizzo di ACPI-table-load

Per caricare una tabella ACPI nel Registro di sistema a scopo di test, il compilatore ASL viene richiamato come segue:

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

Dove AMLFile è il nome del file AML compilato che contiene la tabella da caricare nel Registro di sistema.

Opzione Descrizione
-v Modalità dettagliata. Attiva l'output di debug aggiuntivo dall'utilità.
-d Eliminare. Rimuove un file AML caricato in precedenza dal Registro di sistema ed elimina tutte le chiavi del Registro di sistema associate.

Altre risorse