Compartir a través de


Compilador de ASL de Microsoft

La versión 5.0 del compilador del lenguaje de origen ACPI (ASL) de Microsoft admite las características de la especificación Interfaz avanzada de configuración y energía, revisión 5.0 (especificación ACPI 5.0). El compilador ASL se distribuye con el Kit para controladores de Windows (WDK).

Descarga del Kit para controladores de Windows (WDK)

El compilador ASL (asl.exe) se encuentra en los directorios Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify y Tools\x64\ACPIVerify del WDK instalado, por ejemplo, C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify.

Primero debe instalar el SDK, seguido del WDK. Los números de compilación de los dos kits deben coincidir.

Opciones de línea de comandos

El compilador de ASL admite varias opciones de línea de comandos. Para enumerar la información de versión y las opciones de línea de comandos disponibles, ejecute el comando "asl /?" en una ventana del símbolo del sistema.

Uso del compilador de ASL

El compilador de ASL admite las siguientes opciones de línea de comandos:

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>
Opción Descripción
? Imprimir este mensaje de ayuda.
nologo Suprimir el banner del logotipo.
Fo=<AMLFile> Invalidar el nombre de archivo AML en DefinitionBlock.
Fa=<ASMFile> Generar un archivo .ASM con el nombre <ASMFile>.
Fn=<NSDFile> Generar un archivo de volcado de espacio de nombres con el nombre <NSDFile>.
d Volcar el archivo binario en formato de texto.
u Desensamblar un archivo .AML en un archivo .ASL (valor predeterminado) o un archivo .LST.
tab=<TabSig> Desensamblar la tabla ASL en un archivo .ASL (valor predeterminado) o un archivo .LST. Volcar la tabla que no es de ASL en un archivo .TXT. Si <TabSig> es '*', todas las tablas se volcarán en ACPI.TXT. <TabSig> también puede ser la dirección física de la tabla.
c Crear archivos binarios a partir de tablas.

Uso de la característica ACPI-table-load del compilador de Microsoft ASL

Durante el desarrollo del sistema, resulta útil tener una manera de simular varias construcciones de BIOS ACPI y probarlas en el sistema de desarrollo. El sistema operativo Windows permite que determinadas tablas ACPI se carguen desde el registro de Windows en lugar de desde la ROM del BIOS del equipo. El uso de esta característica requiere privilegios de administrador y también requiere que la firma de prueba esté habilitada en el sistema. En los sistemas compatibles con el arranque seguro UEFI, no se puede habilitar la firma de prueba y la característica de carga de tablas del compilador no se puede usar a menos que el arranque seguro UEFI esté deshabilitado o la directiva de depuración de Windows esté instalada en el sistema.

Para usar la característica de carga de tablas, la tabla ACPI que se va a sobrecargar debe cumplir los siguientes requisitos:

  • La tabla que se va a sobrecargar ya debe estar presente en la ROM del BIOS del sistema. Por ejemplo, el DSDT se puede sobrecargar; sin embargo, si la máquina no tiene un SSDT, no puede forzar que se cargue un SSDT desde este mecanismo de invalidación del registro.

  • La tabla debe contener código AML que normalmente consume el intérprete ACPI de Windows (el controlador Acpi.sys).

  • Está cargada la tabla con el número de versión más alto. La tabla cargada en el Registro para las pruebas debe tener un número de versión superior a la misma tabla en la ROM del BIOS.

  • La tabla que se va a cargar debe estar en formato compilado (AML) y cargarse en el Registro en la ubicación correcta, con los parámetros correctos especificados. El mecanismo descrito está diseñado para controlar todos los aspectos de la carga de la tabla y la configuración del registro.

Advertencia

El proceso descrito en este tema puede dejar el sistema Windows en un estado no de arranque. Asegúrese de que tiene acceso a otro sistema operativo con compatibilidad con el sistema de archivos NTFS (es decir, una "compilación segura") en la misma máquina antes de intentar los procedimientos descritos aquí. Este proceso se proporciona solo para desarrolladores y evaluadores del sistema, y NO debe usarse en ninguna máquina vital para fines de desarrollo o producción.

Uso de ACPI-table-load

Para cargar una tabla ACPI en el registro con fines de prueba, se invoca al compilador ASL de la siguiente manera:

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

Donde AMLFile es el nombre del archivo AML compilado que contiene la tabla que desea cargar en el registro.

Opción Descripción
-v Modo detallado. Activa la salida de depuración adicional de la utilidad.
-d Eliminar. Quita un archivo AML cargado previamente del Registro y elimina todas las claves del Registro asociadas.

Más recursos