Техническая документация
|
|
Содержание
1. РУКОВОДСТВО ПРОГРАММИСТА по BIOS 1.1. ПОДДЕРЖИВАЕМЫЕ ПРЕРЫВАНИЯ BIOS 1.2. ПОДДЕРЖИВАЕМЫЕ ПОЛЯ ОБЛАСТИ ПЕРЕМЕННЫХ BIOS 1.3. ИСПОЛЬЗУЕМЫЕ ПОЛЯ ОБЛАСТИ ДАННЫХ В СТАТИЧЕСКОМ ОЗУ 2. СИСТЕМНЫЕ УТИЛИТЫ 2.1. Программа SETUP.COM 2.2. Программа FLASHWR.COM 3. ОПИСАНИЕ ПРОТОКОЛА КАНАЛА УПРАВЛЕНИЯ PTSROM-DOS 3.1. ЛОГИКА КАНАЛА УПРАВЛЕНИЯ 3.2. ФОРМАТЫ УПРАВЛЯЮЩИХ ПАКЕТОВ ВЫСОКОГО УРОВНЯ 3.3. ФОРМАТЫ ПАКЕТОВ НИЗКОГО УРОВНЯ (ПАКЕТНЫЙ ПРОТОКОЛ)
1. РУКОВОДСТВО ПРОГРАММИСТА по BIOS
1.1. ПОДДЕРЖИВАЕМЫЕ ПРЕРЫВАНИЯ BIOS
INT 0 (деление на ноль)Обработчик по умолчанию.
INT 1 (пошаговое выполнение)Обработчик по умолчанию.
INT 2 (немаскируемое прерывание)Обработчик по умолчанию.
INT 3 (точка останова)Обработчик по умолчанию.
INT 4 (переполнение)Обработчик по умолчанию.
INT 5 (копия экрана)Обработчик по умолчанию.
INT 6 (неверный код операции)Обработчик по умолчанию.
INT 7Обработчик по умолчанию.
INT 8 (IRQ0 - таймер)Обновляет текущее время в области переменных BIOS.
INT 9 (IRQ1 - контроллер клавиатуры)Обработчик по умолчанию.
INT 0Ah (IRQ2 - видео)Обработчик по умолчанию.
INT 0Bh (IRQ3 - COM2)Обработчик по умолчанию.
INT 0Ch (IRQ4 - COM1)Обработчик по умолчанию.
INT 0Dh (IRQ5 - LPT2)Обработчик по умолчанию.
INT 0Eh (IRQ6 - контроллер дискет)Обработчик по умолчанию.
INT 0Fh (IRQ7 - LPT1)Обработчик по умолчанию.
INT 10h (Функции BIOS работы с видео)На входе: На входе: На входе: На входе: На входе: На входе: На входе:
INT 11h (Получить список оборудования в AX)Список оборудования см. ниже.
INT 12h (Получить размер основной памяти в AX)
INT 13h (Функции BIOS работы с дисками)В случае ошибки устанавливается флаг переноса (CF), а код ошибки возвращается в регистре AH. Возможны следующие коды ошибок:
На входе: На входе: На входе: На входе: На входе: На входе: На входе: На входе:
INT 14h (Функции BIOS работы с последовательными портами)На входе: На входе: На входе: На входе: На входе: На входе: На входе:
INT 15h (Специальные функции)На входе: На входе: На входе: На входе: На входе: На входе: На входе: На входе: На входе:
На входе:
INT 16h (Функции BIOS работы с клавиатурой)На входе: На входе: На входе:
INT 17h (Функции BIOS работы с параллельными портами)Обработчик по умолчанию (работа с параллельным портом ведется как с COM3).
INT 18h (ROM BASIC)Обработчик по умолчанию.
INT 19h (Перезагрузка)
INT 1Ah (Функции BIOS работы с таймером)На входе: На входе:
INT 1Bh (Пользовательский обработчик Ctrl/Break)
INT 1Ch (Пользовательский обработчик прерывания таймера)
Vector 1Dh (Адрес таблицы видео параметров)Указывает на фиктивную таблицу.
Vector 1Eh (Адрес таблицы параметров дискеты)Указывает на фиктивную таблицу.
Vector 1Fh (Адрес таблицы графических символов CGA)Указывает на фиктивную таблицу.
1.2. ПОДДЕРЖИВАЕМЫЕ ПОЛЯ ОБЛАСТИ ПЕРЕМЕННЫХ BIOSОбласть переменных BIOS расположена в сегменте 0040h.
Поддерживаются следующие поля:
1.3. ИСПОЛЬЗУЕМЫЕ ПОЛЯ ОБЛАСТИ ДАННЫХ В СТАТИЧЕСКОМ ОЗУ (СТРАНИЦА 7 СМЕЩЕНИЕ 0FF00H).
Структура элемента массива диагностической информации:
Описание кодов контрольных точек и флагов ошибок см. в документе "РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ BIOS".
2. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ BIOS
2.1. ПРОГРАММА SETUP.COMПредназначена для просмотра и изменения setup-информации, записанной на флэш-диске, а также для просмотра диагностической информации. Программа позволяет менять следующие параметры конфигурации (в скобках указаны значения по умолчанию): Скорость канала управления: 110-115200 (9600). Опции разбиты на два подменю (меню setup загрузчика и меню setup BIOS). Кроме того, есть возможность загрузить значения setup по умолчанию, либо восстановить используемые в данный момент значения. Отдельный пункт меню позволяет получить стек диагностической информации. Информация выдается в виде таблицы, состоящей из 4-х столбцов. В самой нижней строке - информация после последней перезагрузки. В первом столбце - код последней исполненной контрольной точки. Возможны следующие значения (L - загрузчик, B - BIOS, D - DOS): L: Stack Loaded После нормальной загрузки системы должно получиться D: Job Point: 25 В остальных 3-х стоблбцах выдаются флаги накопленных ошибок соответственно для загрузчика, BIOS и DOS.
Флаги ошибок загрузчика:Не прошел тест процессора.
Флаги ошибок BIOS:Не прошел тест процессора. Флаги ошибок DOS могут формироваться прикладной программой (см. документ "Руководство программиста по BIOS") ВНИМАНИЕ! Выход из программы SETUP с сохранением может привести к разрушению информации на EMS-диске!
2.2. ПРОГРАММА FLASHWR.COMПредназначена для разрешения и запрещения записи на флэш-диск, а также для записи образа BIOS во флэш-память. FLASHWR ON FLASHWR OFF FLASHWR BIOS <файл> ВНИМАНИЕ! Разрешение записи на флэш-диск может привести к разрушению информации на EMS-диске!
3. ОПИСАНИЕ ПРОТОКОЛА КАНАЛА УПРАВЛЕНИЯ PTS ROM-DOS
3.1. ЛОГИКА КАНАЛА УПРАВЛЕНИЯВ нормальном состоянии управляемая ЭВМ (MicroPC) находится в активном состоянии, то есть она в любой момент может послать сообщение, на которое управляющая ЭВМ, находящаяся в пассивном, ждущем состоянии, должна успеть отреагировать. Если же какое-либо сообщение хочет послать управляющая ЭВМ, она каким-либо образом должна произвести удаленную перезагрузку управляемой ЭВМ. Передача сообщений между управляемой и управляющей ЭВМ производится пакетами.
3.2. ФОРМАТЫ УПРАВЛЯЮЩИХ ПАКЕТОВ ВЫСОКОГО УРОВНЯ
Извещение о перезагрузке управляемой ЭВМ.Пакет имеет длину 4 байта, содержащие слово "LOAD", и извещает управляющую ЭВМ о том, что произошла перезагрузка и можно посылать команду.
Команда от управляющей ЭВМ.Пакет имеет длину 6 байт, содержащие слово "COMM" и 2-х байтовый код команды. Возможны следующие команды:
Диагностическая информация.Пакет заголовка имеет длину 6 байт, содержит слово "DIAG" и 2-х байтовую длину диагностической информации в пакетах. Далее идет сама диагностическая информация пакетами. Каждый пакет имеет длину 134 байта и содержит слово "DIAG", 2-х байтовый номер пакета и 128 байт полезной информации.
Setup-информация.Пакет имеет длину 8 байт и содержит слово "SETP" и 2-х байтовые setup-информации загрузчика и BIOS. Содержимое setup-информации определяет, будет ли происходить передача BIOS и/или DOS.
Запрос от управляемой ЭВМ на передачу BIOS.Пакет имеет длину 4 байта и содержит слово "BIOS".
Заголовок BIOS.Пакет заголовка имеет длину 6 байт и содержит слово "BIOS" и 2-х майтовую длину образа BIOS в пакетах.
Запрос от управляемой ЭВМ на передачу пакета BIOS.Пакет имеет длину 6 байт и содержит слово "BIOS" и номер требуемого пакета.
Пакет BIOS.Пакет имеет длину 134 байта и содержит слово "BIOS", 2-х байтовый номер пакета и 128 байт полезной информации.
Подтверждение управляемой ЭВМ окончания приема BIOS.Пакет имеет длину 6 байт и содержит слово "BIOS" и 2 байта 0.
Запрос от управляемой ЭВМ на передачу DOS.Пакет имеет длину 4 байта и содержит слово "PTOS".
Заголовок DOS.Пакет заголовка имеет длину 6 байт и содержит слово "PTOS" и 2-х байтовую длину образа PTOS в пакетах.
Запрос от управляемой ЭВМ на передачу пакета DOS.Пакет имеет длину 6 байт и содержит слово "PTOS" и номер требуемого пакета.
Пакет DOS.Пакет имеет длину 134 байта и содержит слово "PTOS", 2-х байтовый номер пакета и 128 байт полезной информации.
Подтверждение управляемой ЭВМ окончания приема DOS.Пакет имеет длину 6 байт и содержит слово "PTOS" и 2 байта 0.
Отладочная информация.Пакет имеет длину 32 байта, содержащие слово "DEBU" и содержимое регистров процессора 8088 в следующем порядке: SP, SS, ES, DS, BP, DI, SI, DX, CX, BX, AX, IP, CS, FLAGS. Отладочная информация передается при достижении соответствующей точки останова (см. документ "Руководство программиста по BIOS").
3.3. ФОРМАТ ПАКЕТОВ НИЗКОГО УРОВНЯ (ПАКЕТНЫЙ ПРОТОКОЛ)Перед передачей пакета передающая сторона передает в канал байт 52h и ждет подтверждения от принимающей стороны в течение некоторого времени (для MicroPC это время составляет приблизительно 1 с), если подтверждение не было получено, то делается еще 4 попытки, после чего возвращается ошибка. Если же подтверждение было получено (байт 41h), то посылается следующая информация: Два синхронизирующих байта 50h, 50h; После этого передающая сторона ожидает подтверждения в виде двух байтов 59h, 59h. Если подтверждение не приходит, то делается еще 4 попытки, после чего возвращается ошибка. См. документ "Руководство программиста по BIOS". |