![](https://habrastorage.org/getpro/habr/upload_files/ac0/766/16d/ac076616df9089c7e0e124b2602eea2e.png)
Для чего и для кого эта статья может оказаться полезной? Всё достаточно просто.
Для чего. Терминальный режим удобен для отладки, диагностики процессов работы и загрузки одноплатников. Ошибка в бут-загрузчике, ошибка при инициализации драйверов, ошибки в работе оборудования или просто нужно удобно что то настроить или быстро проверить на одноплатнике работая со своего рабочего компьютера - во всех этих ситуациях удобно подключаться в так называемом терминальном режиме работы, который является одновременно и полноценной консолью для выполнения команд и стандартным портом вывода всей информации о работе процессора. Конечно это удобно чтобы проверять корректность работы устройства, чтобы проверять как идёт процесс загрузки на всех его этапах и т.д. и т.п. Это не просто полезно, а практически жизненно необходимо и является обязательным инструментом для всех системных разработчиков так называемых embedded system или говоря по русски встраиваемых систем.
Для кого. Так что если Вы интересуетесь направлением встраиваемых систем и их разработки и собираетесь развиваться в данном направлении и стать embedded-разработчиком, то этот материал точно для Вас и поможет сделать один из первых и обязательных шагов.
Содержание
Введение
В этой статье рассмотрим как подключиться к консоли отладочного терминала Repka Pi через UART.
Repka Pi как и другие компьютеры аналогичного семейства имеет Debug UART выведенный на 40 pin разъем платы.
Для начала работы нам потребуется программа PuTTY и USB to TTL конвертер с кабелем.
Скачиваем и устанавливаем программу текущую версию PuTTY с официального сайта. На момент написание статьи версия PuTTY 0.78 .
Вот так выглядит PuTTY после установки
![](https://habrastorage.org/getpro/habr/upload_files/4a8/cd5/95c/4a8cd595c880657af29b1ea81d247f9f.png)
USB to TTL конвертер популярны на двух чипах CH340G и PL2303HX
![](https://habrastorage.org/getpro/habr/upload_files/829/5dc/609/8295dc609cb7a74291c892ddc26cd362.jpg)
Так же имеется конвертеры уже с проводами и в корпусе на чипе PL2303HX, рекомендую брать именно такой вариант. Сегодня в статье будет использоваться такой вариант
![](https://habrastorage.org/getpro/habr/upload_files/356/791/709/356791709fe7aa1464c8fd248d9f94e7.jpg)
Приобрести конвертер можно на AliExpress или на ChipiDip.
Как устанавливать драйвера в данной статье рассматривать не будем. Этой информации на просторах Интернета достаточно.
Вот небольшой список статей
Драйвера:
Если все действия по установки драйвера выполнены верно, то в “Диспетчере устройств” после подключения конвертера к компьютеру (через USB порт) появится ваш конвертер в группе Порты (COM и LPT).
![](https://habrastorage.org/getpro/habr/upload_files/906/bd3/e15/906bd3e152ec467e20a3808b728cab83.png)
Я подключил сразу два конвертера для примера, у Вас же должно появиться одно устройство.
Очень важно !!!!!
Перед подключением Repka Pi необходимо убедиться что Ваш USB->TTL конвертер имеет уровень сигнала 3.3 В, так как Repka Pi имеет уровень сигнала 3.3 В и подача 5 В недопустима.
Конвертер на базе PL2303HX имеет логический уровень сигнала 3.3В, а на базе CH340G может работать как на 3.3В так и на 5В. Если у вас вариант на CH340G установите джампер на контакт 3V3 и VCC как показано на фото.
![](https://habrastorage.org/getpro/habr/upload_files/31c/d7d/5bd/31cd7d5bd873d56cf18b059f812472f3.png)
USB -> UART (ttl) могут быть и другой формы и на других чипах. Вот одно из объявлений с AliExpress где имеется большой выбор
![](https://habrastorage.org/getpro/habr/upload_files/669/a1c/385/669a1c385c4762b3394ddbdedcf08e5e.png)
Коротко об UART
Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных.
UART имеет две основных линии данных
RXD (RX) - принимающая линия
TXD (TX) - передающая линия
Устройство по UART подключаются перекрестно
GND - масса (минус или земля) общая, без подключение земли работать будет но не рекомендовано, а почему это тема другой статьи.
![](https://habrastorage.org/getpro/habr/upload_files/b5f/035/580/b5f03558080f9ea416fb8a9923405b3c.jpg)
Подробней про UART хорошо описано в статье “UART и с чем его едят”.
Распиновка Repka Pi 3
Теперь рассмотрим распиновку 40 pin разъёма, в котором среди прочего есть и необходимый нам для терминальной работы uart. Repka Pi на момент написания статьи имеет 5 вариантов распиновки (т.е. функционального назначения и режимов работы отдельных выводов или "пинов") этого разъёма, все варианты представлены на картинке ниже на рисунке.
![Иллюстрация с вариантами распиновки Repka Pi 3 Иллюстрация с вариантами распиновки Repka Pi 3](https://habrastorage.org/getpro/habr/upload_files/bcd/e70/b82/bcde70b826e3dbf7e15ac9121f0acf66.png)
Debug UART (UART0) во всех вариантах распиновки находится на пине 8 и 10 которые выделены на картинке
UART0-TX - пин 8
UART0-RX - пин 10
Для GND можно использовать любой pin данного назначения, я же буду использовать 14 вывод разъёма (напомним, pin или вывод разъёма это одно и тоже).
Схема подключения CH340G (USB->TTL) к Repka Pi 3
Будьте внимательней и не перепутайте пины при подключение. На схеме цвета контактов выбраны такие же как на фото живого подключения ниже.
![Схема подключения CH340G (USB->TTL) к Repka Pi 3 Схема подключения CH340G (USB->TTL) к Repka Pi 3](https://habrastorage.org/getpro/habr/upload_files/1c3/754/066/1c3754066af1a49f4ba9fa9cd874f515.jpg)
Для наглядности прикладываю реальное фото подключения
![Схема подключения CH340G (USB->TTL) к Repka Pi 3, пример Схема подключения CH340G (USB->TTL) к Repka Pi 3, пример](https://habrastorage.org/getpro/habr/upload_files/8a9/237/b1f/8a9237b1f5d73a3e6d0d4f73efd208e4.jpg)
Подключаемся к Repka Pi 3 по UART
Подключение будем выполнять на примере комплектации Repka Pi 3 c 2ГБ ОЗУ и в корпусе, данный вариант комплектации является одним из наиболее "богатых" в линейке доступных сейчас в свободной продаже Репок и удобен не только тем, что на борту 2 Гб ОЗУ, но и тем что сразу идёт в симпатичном корпусе со встроенным вентилятором охлаждения, с качественным адаптером питания с достаточно длинным и удобным шнуром (1,5 метра) и даже с отдельно устанавливающимися "лапками", с помощью которых можно закрепить Репку или к монитору или к стене или другой поверхности, когда хочется избавиться от одноплатника непосредственно на рабочем столе. А ещё важно, что в комплекте сразу идёт достаточно качественная SD карта с уже прошитой прошивкой (масло масленное :-) ). Но версию прошивки мы всё равно перепрошили, так как пока устройство ехало и потом ждало своей очереди, то оказалось, что вышла новая версия где что то было вроде как улучшено. Но самое главное для одноплатников это источник питания, все одноплатники капризные в этом отношении - нужно чтобы и ток достаточный был на входе и стабильность напряжения и желательно чтобы отсутствовали помехи и пульсации, которые могут приводить к самым причудливым и разнообразным проблемам в работе одноплатника, вплоть до его выключения во время загрузки или в процессе работы или некорректного определения разрешения экрана на мониторе или даже странностей и не стабильности в работе подключаемых usb устройств.
![Набора Repka Pi 3 в корпусе, с блоком питания и с SD картой и с 2Гб ОЗУ. Набора Repka Pi 3 в корпусе, с блоком питания и с SD картой и с 2Гб ОЗУ.](https://habrastorage.org/getpro/habr/upload_files/642/331/d6f/642331d6ff5f69c982ea7c6d5081be8e.jpg)
И так, драйвер нашего USB->TTL конвертера установлен, программа консоли PuTTY установлена, конвертер подключен к UART0 нашей Repka Pi 3. Теперь у нас все готово и можно приступить к подключению. Вставляем USB->TTL в USB порт нашего компьютера, Repka Pi 3 пока к сети не подключаем
![Отладочный терминал Репки подключен через USB адаптер к рабочему компьютеру. Но провода удобнее делать длиннее, но на суть работы это не влияет. Отладочный терминал Репки подключен через USB адаптер к рабочему компьютеру. Но провода удобнее делать длиннее, но на суть работы это не влияет.](https://habrastorage.org/getpro/habr/upload_files/a03/3f6/2b3/a033f62b3b3a4b55d4d012fd15dd9263.jpg)
Заходим в “Диспетчер устройств” и определяем какой COM порт имеет наш конвертер
![](https://habrastorage.org/getpro/habr/upload_files/922/faa/a87/922faaa8741931b1f615c3ad3cdae37a.png)
У меня это COM3, обведен на фото красным, у вас может быть другой номер порта.
Запускаем программу PuTTY и в открывшемся окне выбираем “Serial” в поле “Serial line” вводим наш порт, в моем случае это “COM3”, а в поле “Speed” вводим скорость соединения “115200” именно на такой скорости работает наш USB->TTL конвертер. Пример окна на картинке ниже.
![](https://habrastorage.org/getpro/habr/upload_files/647/a86/288/647a86288fba7853c6f81ed547b79d17.jpg)
Нажимаем кнопку “Open” и у нас откроется черное окно терминала, на данный момент оно будет пустое без сообщений и не должно выскакивать ошибке о подключение. Теперь можем подать питание на нашу Repka Pi 3, при загрузке мы сразу увидим сообщения в нашем терминале.
![](https://habrastorage.org/getpro/habr/upload_files/471/936/6df/4719366df81a0b66c8e8bebb598ede7f.png)
В самом начале мы видим разную информацию о прошивке и железе, как видно по картинке что CPU: Allwinner H5, Model: Repka-Pi3-H5, DRAM: 2 GiB и тд. Дальше пойдет процесс загрузки и в самом конце увидим приглашение в систему, можем авторизоваться и работать с Repka Pi
![](https://habrastorage.org/getpro/habr/upload_files/b36/312/42f/b3631242f4a6627da9869428c5bc91ec.png)
Отключение / включение отладочного терминала на UART0
Вывод консоли на UART0 управляется в утилите “rapka-config”. Войти в данную утилиту можно нажав на иконку расположенную на рабочем столе или выполним одноимённую команду в Терминале или в консоле, называйте как Вам удобно
repka-config
Иконка на рабочем столе указана на скриншоте ниже
![Ярлык утилиты repka-config на рабочем столе Repka OS. Ярлык утилиты repka-config на рабочем столе Repka OS.](https://habrastorage.org/getpro/habr/upload_files/853/463/6b2/8534636b25ddac02aa7e330b8613d8f4.jpg)
В начале утилита вам покажет какая у вас “Текущая максимальная частота”. Нажимаем “OK”
![](https://habrastorage.org/getpro/habr/upload_files/33b/005/80c/33b00580cfdf4e38d8d2ad2686c8b640.png)
После вы попадаете в меню данной утилиты. Тут выбираем первый пункт “console-UART0-on/off”
![](https://habrastorage.org/getpro/habr/upload_files/878/be7/ae5/878be7ae5dcc4571477e17ab31200d3a.png)
В открывшемся окне мы видим два варианта. Выбираем что мы хотим сделать и нажимаем “Enter”
![](https://habrastorage.org/getpro/habr/upload_files/6bc/435/c35/6bc435c35d62975a04123dd8f4c2e311.png)
После нам предложат перезагрузить систему. Нажимаем “Да”
![](https://habrastorage.org/getpro/habr/upload_files/d3f/fcf/61c/d3ffcf61c9b01c0c42439119a60527ea.png)
Теперь если подключиться по UART к консоли то увидим что что лог при загрузке доходит только до запуска ядра и дальше не идет
![](https://habrastorage.org/getpro/habr/upload_files/ce3/ac8/aa0/ce3ac8aa0884d95333f8819071f3f432.png)
Что и как делать дальше Вы наверняка уже решите и поймёте сами, задачей же данного материала было помочь Вам справится с подключением отладочного терминала в первый раз и начать свой увлекательнейший Путь в обрасти embedded system как embedded-разработчика.
Выводы, итоги и благодарности
Надеемся, что эта статья поможет читателем в решении задачи подключения к отладочному терминалу на Repka Pi. Представленный подход может применяться на любых одноплатных компьютерах с возможностью подключения к отладочному терминалу Debug UART.
Также приводим ссылки на ресурсы проекта Repka Pi:
Официальный сайт проекта Repka Pi и там же куча дополнительной информации, прошивки, чертежи, исходники бинарники DT, блог и что важно - интернет магазин с ценами на все комплектации Репки ощутимо ниже, чем на плэйс маркетах.
Официальный Телеграм канал проекта Repka Pi.
Группа обсуждения и комментариев к постам официального канала в Телеграм проекта Repka Pi - там можно задать актуальные вопросы и пообщаться с единомышленниками, которые тоже увлекаются одноплатными компьютерами вообще и Репкой в частности.
Официальное сообщество в ВК компании разработчика, где периодически появляются новости проектов разработчика проекта, в том числе и Репки.
Предыдущая статья о проекте, где было подробнее рассказано об установке VNC сервера на Repka Pi для удаленного доступа и управления ее рабочим столом.
Эта статья целиком написана и свёрстана Дмитрием Шевцовым из Калининграда. Дмитрий является автором материалов, мы лишь незначительно выполнили редактуру материала. Связываться с целью благодарности или уточнения вопросов с Дмитрием можно в его Телеграм-аккаунте, который приводим с его согласия. Дмитрий является одним из самых активных участников сообщества Repka Pi.
Будет верным сказать, что именно благодаря такому участию, поддержке и помощи со стороны сообщества проект Repka Pi на данный момент активно развивается и получает шанс встать на ноги, окрепнуть и набрать силу.
Проект Repka Pi очень признателен Дмитрию за проработку актуальных вопросов и подготовку полезных для многих статей, включая эту. Именно по его материалам ранее был подготовлен материал по использованию точных часов RTC (real time clock) в виде внешнего i2c модуля, а так же на данный момент Дмитрий подготовил целый ряд крайне интересных и полезных материалов, которые будут опубликованы в ближайшее время.
Раз Вы читаете эти строки, значит статья Вас заинтересовала и Вы дочитали её до конца. Спасибо Вам!
Ставьте Ваши оценки и пишите в комментариях о чём бы Вы хотели ещё прочитать в этом цикле статей о применении и работе с одноплатным компьютером Repka Pi Российской разработки и производства, о применении с ним разных видов датчиков, исполнительных устройств и устройств ввода и вывода информации, а может и о чём то ещё.
Удачи Вам и Вашим проектам - как рабочим или образовательным, так и просто любительским!