Компилятор Microsoft ASL
Версия 5.0 компилятора исходного языка MICROSOFT ACPI (ASL) поддерживает функции в спецификации расширенной конфигурации и интерфейса питания, редакции 5.0 (спецификация ACPI 5.0). Компилятор ASL распространяется с помощью комплекта драйверов Windows (WDK).
Скачайте комплект драйверов Windows (WDK)
Компилятор ASL (asl.exe) находится в каталогах Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify и Tools\x64\ACPIVerify установленного WDK. C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify
Сначала необходимо установить пакет SDK, а затем WDK. Номера сборки для двух комплектов должны совпадать.
Параметры командной строки
Компилятор ASL поддерживает несколько параметров командной строки. Чтобы получить список сведений о версии и доступных параметрах командной строки, выполните команду "asl /?
" в окне командной строки.
Использование компилятора ASL
Компилятор ASL поддерживает следующие параметры командной строки:
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>
Вариант | Описание |
---|---|
? | Распечатайте это сообщение справки. |
nologo | Отключить баннер логотипа. |
Fo=<AMLFile> | Переопределите имя файла AML в DefinitionBlock. |
Fa=<ASMFile> | Создайте . ASM-файл с именем <ASMFile>. |
Fn=<NSDFile> | Создайте файл дампа пространства имен с именем <NSDFile>. |
d | Дампа двоичного файла в текстовой форме. |
u | Распакуйте файл AML в файл . ASL-файл (по умолчанию) или . LST-файл. |
tab=<TabSig> | Распакуемная таблица ASL в таблицу . ASL-файл (по умолчанию) или . LST-файл. Дампа таблицы, отличной от ASL, в файл .TXT. Если <tabSig> имеет значение "*", все таблицы сбрасываются в ACPI.TXT. <TabSig> также может быть физическим адресом таблицы. |
c | Создайте двоичные файлы из таблиц. |
Использование функции ACPI-table-load компилятора Microsoft ASL
Во время разработки системы полезно имитировать различные конструкции BIOS ACPI и тестировать их в системе разработки. Операционная система Windows позволяет загружать определенные таблицы ACPI из реестра Windows вместо BIOS КОМПЬЮТЕРА. Для использования этой функции требуются права администратора, а также требуется, чтобы в системе включена проверка подписи. В системах, поддерживающих безопасную загрузку UEFI, невозможно включить подписывание тестов, а компонент загрузки таблицы компилятора не может использоваться, если только не отключена безопасная загрузка UEFI или политика отладки Windows установлена в системе.
Чтобы использовать функцию загрузки таблиц, таблица ACPI, которая должна быть перегружена, должна соответствовать следующим требованиям:
Таблица, которую необходимо перегружать, уже должна присутствовать в BIOS системы. Например, DSDT можно перегружать; Однако если компьютер не имеет SSDT, вы не можете принудительно загрузить SSDT из этого механизма переопределения реестра.
Таблица должна содержать код AML, который обычно используется интерпретатором Windows ACPI (драйвером Acpi.sys).
Таблица с наибольшим номером версии загружается. Таблица, загруженная в реестр для тестирования, должна иметь более высокий номер версии, чем та же таблица в BIOS ROM.
Таблица, загружаемая, должна быть в скомпилированном формате (AML) и загружена в реестр в правильном расположении с правильными параметрами. Описанный механизм предназначен для обработки всех аспектов загрузки таблицы и настройки реестра.
Предупреждение
Процесс, описанный в этом разделе, может оставить систему Windows в состоянии, отличном от загрузки. Убедитесь, что у вас есть доступ к другой операционной системе с поддержкой файловой системы NTFS (т. е. безопасной сборки) на том же компьютере, прежде чем пытаться выполнить описанные здесь процедуры. Этот процесс предоставляется только для системных разработчиков и тестировщиков и не следует использовать на любом компьютере, жизненно важном для разработки или рабочей среды.
Использование ACPI-table-load
Чтобы загрузить таблицу ACPI в реестр для тестирования, компилятор ASL вызывается следующим образом:
asl.exe /loadtable [-v] [-d] <AMLFile>
Где AMLFile — это имя скомпилированного AML-файла, содержащего таблицу, которую вы хотите загрузить в реестр.
Вариант | Описание |
---|---|
-v | Режим подробного вывода. Включает дополнительные выходные данные отладки из служебной программы. |
-d | Удалить. Удаляет ранее загруженный файл AML из реестра и удаляет все связанные разделы реестра. |