Пакеты поддержки модулей для ЗОСРВ «Нейтрино» > AArch64 (ARM64) > BSP для микропроцессоров NXP серии i.MX8M > Описание компонентов > Список компонентов, входящих в состав ППМ > devc-sermx1



devc-sermx1

Менеджер последовательных 8250-совместимых каналов связи для MC9328MX1/MX21/MX31/MX51 совместимых процессоров

Синтаксис:

devc-sermx1 [[опции менеджера][опции библиотеки io-char] [порт[,прерывание]]]... &

Опции:

-b число
Скорость передачи в бодах (по умолчанию – 115200).
-c тактовая_частота
Определить собственную тактовую частоту (в Герцах) для последовательного порта.
-i число
Установить режим прерываний. Значение 0 – использовать события обратного вызова, 1 – чтение ISR (регистра состояния прерывания) (по умолчанию 1).
-m
Использовать контроллер UART типа MX1.
-d число
Использовать DMA по прерыванию с номером число.
-T число
Активировать FIFO-буфер передатчика и установить число символов (2-32), передаваемых при каждом прерывании на передачу. Значение по умолчанию – 32.
-t число
Активировать FIFO-буфер приемника и установить пороговое число символов (0-32) для срабатывания прерывания по получению данных. Значение по умолчанию – 24. Задание значения 0 отключает инициализацию прерываний.
-u число
Добавить номер число к префиксу имени устройства (/dev/ser). Значение по умолчанию – 1; дополнительным устройствам присваиваются номера в порядке возрастания.
порт
Адрес физической памяти последовательного порта.
прерывание
Используемое этим портом прерывание задается шестнадцатеричным числом (если введен префикс 0x) или десятичным числом (если префикс отсутствует).

Опции библиотеки io_char:

-b число
Скорость передачи в бодах (по умолчанию – 57600).
-C размер
Указать размер канонического буфера в байтах (значение по умолчанию – 256).
-E
Выполнить запуск в режиме необработанных данных (raw mode).
-e
Выполнить запуск в редактируемом режиме (по умолчанию).
-F
Деактивировать аппаратное управление обменом (Hardware flow control) данным (по умолчанию аппаратное управление обменом данными активировано). В редактируемом режиме аппаратное управление обменом данными не поддерживается.
-f
Активировать аппаратное управление обменом данными (по умолчанию). В редактируемом режиме аппаратное управление обменом данными не поддерживается.
-I размер
Указать размер входного буфера в байтах (значение по умолчанию – 2048).
-O размер
Указать размер выходного буфера в байтах (значение по умолчанию – 2048).
-o опция[,опция...]
Дополнительные опции, разделённые запятыми.
-S|s
Деактивировать/активировать программное управление обменом данными. Состояние по умолчанию зависит от режима: в raw-режиме (-E, режим по умолчанию) программное управление деактивировано; в редактируемом режиме (-e) программное управление активировано. Имеет значение порядок, в котором указываются опции -E или -e и -S или -s:

Опции Режим Программное управление обменом данными
-e Редактируемый режим Активировано
-S -e Редактируемый режим Активировано
-e -S Редактируемый режим Деактивировано
-E Режим необработанных данных (raw mode) Деактивировано
-s -E Режим необработанных данных (raw mode) Деактивировано
-E -s Режим необработанных данных (raw mode) Активировано

-v[v]...
Вывести расширенную информацию. Чем больше символов v, тем более подробная информация выводится.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64

Описание:


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

Драйвер devc-sermx1 является небольшой программой для администрирования устройств с последовательным интерфейсом в ЗОСРВ «Нейтрино». Он может работать с любым числом последовательных портов, использующих микросхемы серии 8250, 14450 или 16550. Каждому устройству может быть назначено собственное прерывание, либо устройства могут совместно использовать одно прерывание при условии, что аппаратные средства поддерживают режим разделения прерываний.


Note: Драйвер может работать с универсальными асинхронными приемопередатчиками (UART), совместимыми с устройствами 8250.

Приоритет драйвера устройств с последовательным интерфейсом приводится в соответствие с приоритетом клиента. Все внутренние события обрабатываются с приоритетом 24 (соответствует приоритету внутренней обработки импульсов). Приоритет обработки событий жестко запрограммирован и не может устанавливаться ни одной из перечисленных опций. (Для изменения приоритета требуется изменение программы main.c драйвера.)

При взаимодействии драйвера с клиентским приложением он работает с приоритетом клиента. Вся остальная обработка выполняется либо с приоритетом 24r, либо по прерыванию.

Каждому устройству присваивается имя в пространстве путевых имен /dev/sern, где n принимает значения в порядке возрастания, начиная с 1, которое можно изменить с помощью опции -u.


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

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


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


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

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

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


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

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

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

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

Поле Поддерживаемые флаги
c_cc Все символы
c_iflag BRKINT ICRNL IGNBRK IXON
c_oflag OPOST
c_oflag CLOCAL CSIZE CSTOPB PARENB PARODD
c_lflag ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH

Примеры:

Запуск драйвера devc-sermx1:

devc-sermx1 -u 1 -e -F -c24000000 0x30860000,58

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», Драйверы




Предыдущий раздел: перейти