Программное обеспечение системы сбора данных установки ВЕС
AMTEST, тестовая система адаптера МИСС


Для тестирования адаптера МИСС (например плата RDO в стандарте ISA) и соответствующего драйвера устройства (AMDRIVER) создана программа AMTEST, в виде утилиты с алфавитно-цифровым интерфейсом. Она позволяет интерактивно выполнять все функции драйвера, зацикливать операции, например для наблюдения сигналов по осциллографу, останавливаться по ошибке выполнения, читать данные из МИСС и сравнивать их с заданной последовательностью, выводить статистику ошибок. Имеется встроенная система подсказок и возможность определения клавиш.

Запуск программы производится командой AMTEST, для удобства определен символ сокращения - AMT. Если в командной строке была указана операция с параметрами, то после ее выполнения программа автоматически завершает свою работу. При запуске без параметров программа работает в интерактивном режиме, выводя строку приглашения "AMTEST> ". Описание доступно по команде HELP. Прервать выполнение цикла операций можно с помощью комбинации клавиш CTRL+C, а выйти из программы при одновременном нажатии CTRL+Z.

Команды задаются в соответствии со стандартным синтаксисом командного языка DCL операционной системы VMS, например:

AMTEST> READ SPILL /LOCK /TOTAL=8192 /LOOP=BREAK

В данном примере READ - команда, SPILL - параметр, а все что начинается с символа обратной косой черты "/" - квалификаторы, которые в свою очередь могут иметь дополнительные значения, здесь квалификатор /TOTAL имеет значение 8192.

Все команды, параметры и квалификаторы могут быть сокращены до минимальной длины, не допускающей неоднозначности. Например R вместо READ, /LOO вместо /LOOP. В общем случае, порядок квалификаторов не важен.

Команды, вводимые пользователем, запоминаются в буфере команд, для его просмотра используются клавиши стрелок вверх/вниз. Можно определить собственные клавиши командой DEFINE/KEY и поместить их в файл AMTEST.INI, который зачитывается при старте программы. Например:

DEFINE/KEY/TERM PF1 "WAIT NIM1"

В этом случае нажатие клавиши PF1 (на дополнительной клавиатуре) вызовет ввод команды WAIT NIM и символа ввода (квалификатор /TERM).

Для ввода чисел в 16-ричной нотации, необходимо использовать префикс "%X", например "%X38".

Пользователю доступны следующие команды (необязательные параметры указаны в скобках):

HELP [имя команды]

Вызов справочной системы. Можно указать имя конкретной команды, для которой требуется описание.

WAIT [имя NIM] [квалификаторы]

ожидание прихода сигналов NIM
имя: название сигнала, NIM1 или NIM2, по умолчанию NIM1
квалификаторы: /LOOP

Сигнал NIM1 обычно означает начало данных, NIM2 - конец данных.

/LOOP[=NOBREAK] - операция будет повторяться невзирая на ошибки (например таймаут)
/LOOP=BREAK - операция будет повторяться до первой ошибки
Возможно прервать выполнение цикла по нажанию комбинации клавиш CTRL+C

SEND [имя NIM] [квалификаторы]

посылка сигналов NIM
имя: название сигнала, NIM3 или NIM4, по умолчанию NIM3
квалификаторы: /LOOP /DELAY

/LOOP[=NOBREAK] - операция будет повторяться невзирая на ошибки
/LOOP=BREAK - операция будет повторяться до первой ошибки

/DELAY[=seconds] - время в секундах между посылками. По умолчанию 3 сек.
/NODELAY - посылка сигналов без задержек.

READ SPILL [квалификаторы]

Чтение сброса, которое включает в себя: ожидание сигнала NIM1, чтение, проверка последовательности данных
квалификаторы: /LOOP /BLOCK /TOTAL /LOCK /CLEAR /WAIT /COMPARE /SHOW

/LOOP - зацикливание, аналогично команде WAIT
/BLOCK=xx - размер блока чтения в килобайтах от 1 до 64. По умолчанию равен 32
/TOTAL=xxxx - размер буфера чтения в килобайтах, по умолчанию 4096, макс. 16384
/[NO]LOCK - фиксирование буфера в физической памяти для увеличения скорости. По умолчанию не фиксируется
/[NO]CLEAR - заполнение буфера нулями перед чтением. По умолчанию не заполняется
/[NO]WAIT - какие вызовы использовать $QIO или $QIOW. $QIOW по умолчанию
/[NO]COMPARE - сравнение прочитанных данных из МИСС с определенной моделью. В настоящее время доступна лишь модель "бесконечной памяти" типа 0202,0303,...0F0F и так далее, которая используется для тестов цепочки из контроллера, памяти, кабеля и адаптера. Наличие заголовка сброса и событий учитывается автоматически. По умолчанию сравнение отключено
/SHOW=xx - число 16-битных слов, которые выводятся на экран после чтения данных (для контроля). По умолчанию 16 слов

READ ISA номер-порта [индексный-порт индекс]
Чтение байта из порта шины ISA, возможно использование индексного порта, для программирования чипсета Cyrix.

WRITE ISA номер-порта байт-данных [индексный-порт индекс]
Запись байта данных в порт на шине ISA, с возможным использованием индексного порта.

READ PCI номер-узла смещение
Чтение конфигурационного регистра устройства на PCI.

WRITE PCI номер-узла смещение байт-данных
Запись байта данных в конфигурационный регистр устройства на шине PCI.

Исходный текст программы AMTEST.FOR находится в каталоге ONL$SRC:[AM], для перекомпиляции используется командный файл AMDRIVER.COM с параметром TEST. Используются системные библиотеки CLI$ для обработки команд, интерфейс с алфавитно-цифровым терминалом SMG$ и система справочной информации LBR$. Команды и квалификаторы задаются посредством файла описания команд AMTEST.CLD, справочный файл AMTEST.HLP, преобразуется в библиотеку справочной информации утилитой LIBRARY.


Last updated Jan-2004 by Solo