devc-serzscc

Менеджер последовательных каналов связи Zilog SCC (QNX Neutrino)

Примечание. Для запуска этого драйвера необходимо войти в систему под учетной записью root.

Синтаксис:

devc-serzscc [[опции]

[порт[^сдвиг][+смещение][,прерывание]]]... &

Поддерживаемые платформы:

Neutrino

Целевые платформы:

PPCBE, x86


Опции:

Действие опций зависит от их положения в строке и распространяется на указанные после них порты.

-1

Активировать для этого устройства только канал А.

-2

Активировать для этого устройства каналы А и В.

-b число

Начальная скорость двоичной передачи в бодах (по умолчанию – 57600).

-C размер

Размер канонического буфера в байтах (по умолчанию – 256).

-c тактовая_частота[/делитель]

Определить собственную тактовую частоту (в Герцах) и делитель для последовательного порта. Значение по умолчанию используется для совместимых последовательных портов.

-D задержка

Задержка межрегистрового доступа: задержка.

-E

Выполнить запуск в режиме необработанных входных данных (по умолчанию). По умолчанию программное управление обменом данными деактивировано.

-e

Выполнить запуск в редактируемом режиме (по умолчанию – режим необработанных входных данных). По умолчанию программное управление обменом данными активировано.

-F

Деактивировать аппаратное управление обменом данным (по умолчанию аппаратное управление обменом данными активировано). В редактируемом режиме аппаратное управление обменом данными не поддерживается.

-f

Активировать аппаратное управление обменом данными (по умолчанию). В редактируемом режиме аппаратное управление обменом данными не поддерживается.

-I число

Размер входного буфера прерываний в байтах (по умолчанию – 2048).

-O число

Размер выходного буфера прерываний в байтах (по умолчанию – 2048).

-o nodaemon

Запретить вызов функции procmgr_daemon() для работы драйвера в фоновом режиме. Эта опция используется при необходимости узнавать о прекращении работы устройства devc-serzscc.

-S|s

Деактивировать/активировать программное управление обменом данными. Состояние по умолчанию зависит от режима: в режиме необработанных входных данных (-E, режим по умолчанию) программное управление деактивировано; в редактируемом режиме (-e) программное управление активировано.

Имеет значение порядок, в котором указываются опции -E или -e и -S или -s:

Опции

Режим

Программное управление обменом данными

-e

Редактируемый режим

Активировано

-S -e

Редактируемый режим

Активировано

-e -S

Редактируемый режим

Деактивировано

-E

Режим необработанных данных

Деактивировано

-s -E

Режим необработанных данных

Деактивировано

-E -s

Режим необработанных данных

Активировано

-u число

Добавить номер число к префиксу имени устройства (/dev/ser). Значение по умолчанию – 1; дополнительным устройствам присваиваются номера в порядке возрастания.

порт

Шестнадцатеричный адрес физической памяти последовательного порта.

сдвиг

Разнесение регистров, выраженное степенью числа 2. Например:

0

Регистры разнесены на 1 байт.

1

Регистры разнесены на 2 байта.

2

Регистры разнесены на 4 байта.

n

Регистры разнесены на 2n байтов.

Значение
сдвиг по умолчанию – 0.

смещение

Смещение, добавляемое к значению порта.

прерывание

Десятичное значение прерывания для этого порта.

Описание:

Менеджер devc-serzscc является небольшой программой для администрирования устройств с последовательным интерфейсом в QNX Neutrino. Он поддерживает микросхему Zilog SCC.

Полное управление всеми устройствами осуществляется с использованием прерываний, и по умолчанию устройства поддерживают стандартное аппаратное управление обменом данными на входе и выходе (RTS/CTS). Это управление можно деактивировать с помощью опции - F.

Примечание. В редактируемом режиме аппаратное управление обменом данными не поддерживается.

Примечание. Если в приложении используется консоль /dev/console, следует создать ее привязку к одному из устройств (/dev/ser1, /dev/ser2, …) путем добавления в файл построения образа, используемый в команде mkifs подобной строки:

[type=link] /dev/console = /dev/ser1

По умолчанию запрос на чтение выдается при доступности по крайней мере одного символа. Для повышения эффективности можно использовать три параметра, управляющие ответами на запросы на чтение:

Time

Возвратить по истечении указанного интервала времени.

Min

Возвратить при нахождении во входном буфере указанного числа символов.

Char


Возвратить при нахождении во входном буфере этого символа пересылки.

Примечание. Если значение Min превышает размер входного буфера, оно уменьшается до размера буфера. Для предотвращения такой ситуации размер входного буфера можно изменить с помощью опции -I.

Эти параметры устанавливаются с помощью библиотечных подпрограмм (см. tcgetattr(), tcsetattr(), readcond() и TimerTimeout() в руководстве по библиотекам Library Reference).

Менеджер devc-serzscc поддерживает редактируемый режим и режим необработанных входных данных, т.е. действует как реальный терминал ввода-вывода.

В структуре termios поддерживаются следующие поля и флаги:

Поле

Поддерживаемые флаги

c_cc

Все символы

c_iflag

BRKINT ICRNL IGNBRK IXON

c_oflag

OPOST

c_cflag

CLOCAL CSIZE CSTOPB PARENB PARODD

c_lflag

ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH


Примеры:

Запуск devc-serzscc в редактируемом режиме с указанием тактовой частоты, скорости двоичной передачи в бодах и задержки межрегистрового доступа:

devc-serzscc -e -c4915200/16 -b9600 -D4000 0x81000000^3+4,0x8002 &