Bootterm — удобная для разработчиков программа последовательного терминала


Существует множество терминальных программ для доступа к последовательной консоли, таких как minicom или screen to Putty. Но Вилли Тарро не очень понравились эти инструменты, поэтому он решил написать свой собственный: Bootterm.

Мне ужасно надоело текущее состояние последовательных терминалов, которые либо плохо справляются с ошибками, либо запускаются долго, из-за чего вы теряете первые символы, либо не поддерживают нестандартные скорости и т. д. Наконец я написал свою собственную программу, чтобы решить все это сразу, плюс поддержка автоматического определения порта (последний зарегистрированный по умолчанию является хорошим), ожидание готовности порта, а также поддержка фиксированных или синхронизированных захватов. А несколько переменных среды позволяют вообще не вводить аргумент, но при этом имеют ожидаемое поведение. Если вас это интересует, вы можете проверить это здесь:

https://github.com/wtarreau/bootterm

Программа еще молодая (нет поддержки автоматического переключения скорости и макросов), но довольно удобная, и я уже перешел на нее.

Так случилось, что у нас есть Комплект BBC Doctor Who “HiFive Inventor” , поэтому мы попробовали его в Ubuntu 20.04:

Обычно мы проверяем последовательный интерфейс, запустив dmesg сразу после подключения устройства:

Bootterm позволяет вам перечислить все последовательные устройства, подключенные к вашему хосту:

Значок * в списке означает, что это последнее подключенное USB-устройство, что в большинстве случаев означает последовательную консоль, к которой вы хотите получить доступ. Он будет выбран по умолчанию, если вы не введете устройство в командной строке. Это означает, что вам не нужно даже проверять использование устройства, просто запустите bt, чтобы подключиться к плате:

Круто! Просто работает из коробки! Нет необходимости проверять устройство или скорость передачи данных.

Вероятно, вы захотите проверить вывод загрузчика, как только вы подключите устройство. Если вы используете отладочную плату USB в TTL, это нормально, но если вы используете одну из этих плат со встроенным последовательным интерфейсом, такую как плата HiFive, которую мы используем сейчас, это обычно включает в себя подключение платы к плате USB, узнав имя устройства, подключитесь к последовательному порту, а затем перезагрузите плату. Но с bootterm вы можете просто использовать параметр n, который означает «New»:

Программа будет ждать нового USB-устройства, а затем автоматически подключится к последовательной консоли. Давайте попробуем это с помощью платы HiFive Inventor.

Он автоматически подключается к последовательной консоли от модуля ESP32 на нашей плате. Довольно аккуратно. Но есть также последовательная консоль для микроконтроллера SiFive Freedom E310, к которой мы можем получить доступ, указав устройство:

Если мы нажмем кнопку сброса и плату, мы можем получить журнал загрузки с RISC-V MCU:

Его намного проще использовать по сравнению с minicom, где нам пришлось войти в режим настройки, ввести последовательную плату, выбрать скорость передачи и отключить аппаратное управление потоком перед доступом к последовательной консоли. Не будем забывать, как легко забыть и команду выхода из программы. Но подождите … как нам выйти из bootterm? Нам сообщают о команде каждый раз, когда мы запускаем программу:

Так что получить доступ к справке не так уж сложно:

Будем надеяться, что использование правой квадратной скобки ‘]’ не вызовет проблем с некоторыми раскладками клавиатуры. Но Вилли, должно быть, уже подумал об этой потенциальной проблеме и предоставил способ изменить escape-символ …

Вы можете настроить escape-символ с помощью команды bt -exx с параметрами, перечисленными в таблице справа.

По умолчанию программа будет использовать скорость передачи 115 200 бит/с, но вы можете изменить ее:

Bootterm также может использоваться в качестве детектора последовательного порта в сочетании с другими сценариями, поскольку следующая командная строка сообщает о последнем подключенном USB-устройстве без каких-либо посторонних строк:

Программа Bootterm C все еще находится в разработке, и Вилли планирует реализовать автоматическое переключение скорости и макросы. Он предлагает всем попробовать и сообщить о проблемах на Github.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments