utils/hw
utils
/
hw
1
1
Форкнуть 0
hw/utils/sertest
СВД Встраиваемые Системы 558b729c13 Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
..
linux64 Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
nto Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
Makefile Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
README.md Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
common.mk Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
crc16.c Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
crc16.h Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
sertest.c Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00
sertest.use Тестовые утилиты для ЗОСРВ "Нейтрино" редакции 2020 2022-10-01 18:07:24 +03:00

README.md

sertest

Тест последовательных портов (COM-портов) с передачей, получением и проверкой пакетов с данными.

Синтаксис

sertest -m устройство -rw [-p размер] [-d задержка] [-c счётчик] [-v[vv]]

Опции

  • -m устройство

    Устройство последовательного порта. Например: /dev/ser2. По умолчанию: /dev/ser1

  • -r

    Режим чтения.

  • -w

    Режим записи.

  • -p размер

    Размер посылаемого и принимаемого пакета с данными в байтах. По умолчанию: 128 байт.

  • -d задержка

    Только для отправляющей стороны: задержка в миллисекундах между оправками данных. По умолчанию: 100 миллисекунд. Задайте 0 для отключения задержки.

  • -c счётчик

    Только для отправляющей стороны: количество пакетов для отправки. По умолчанию не задано, бесконечная отправка.

  • -v[vv]

    Включение дополнительного отладочного вывода о количестве и составе передаваемых/получаемых пакетов.

Описание

Утилита sertest формирует и затем передаёт или принимает пакет с данными через последовательный интерфейс (RS232/RS422/RS485).

Предполагается, что два порта будут соединены между собой и будет запущено две копии программы: на приём (опция -r) и на передачу (опция -w).

При приёме проверяется контрольная сумма полученного пакета и, если она не совпадает с ожидаемой, выводится сообщение об ошибке и увеличивается счётчик ошибок CRC.

Предостережения

Размеры пакета с передающей и принимающей стороны должны совпадать.

При слишком большой интенсивности обмена (большой размер пакет, низкие задержки между оправками) контроллер может не успевать отправлять/принимать данные, будет происходить переполнение аппаратных FIFO контроллера UART и данные будут теряться. Отследить возникновение аппаратных ошибок UART можно по сообщениям от библиотеки io-char в системном журнале sloginfo, например: io-char: H/W fifo Overrun error on /dev/ser6 В общем случае при наличии подобных ошибок следует снизить интенсивность обмена.

Примеры

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

В первой консоли в режиме чтения из порта /dev/ser1:

sertest -m /dev/ser1 -v -r

Во второй консоли в режиме записи из порт /dev/ser2:

sertest -m /dev/ser2 -v -w

Увеличить размер пакета до 2048 байт, паузу между оправками снизить до 1мс. С принимающей стороны:

sertest -m /dev/ser1 -r -p 2048

С передающей стороны:

sertest -m /dev/ser1 -w -p 2048 -d 1