UART
UART2
UART2 на платах с процессором RK356x во многих программных платформах и операционных системах по умолчанию назначается системной последовательной консолью. Он может использоваться загрузчиком и операционной системой для вывода диагностических сообщений и отладочной информации на различных этапах загрузки и работы системы.
UART2 также может использоваться как обычный последовательный порт для обмена данными с ПК через USB-UART преобразователь.
При подключении модуля ELTAY RM66 к базовой плате ELTAY BASE BOARD CM4 UART2 доступен на выводах 8/10 GPIO разъема, а также на отдельной контактной группе (TX/RX/GND).
UART2 может использоваться загрузчиком и системой для вывода отладочной информации до и во время загрузки Linux, даже если в запущенной системе интерфейс перенастроен как пользовательский последовательный порт.
Полностью отключить вывод сообщений в UART2 до загрузки ядра Linux средствами операционной системы невозможно: часть сообщений формируется встроенным ROM-кодом SoC и загрузчиком (SPL/U-Boot) и выводится до передачи управления ядру. Для полного отключения таких логов требуется пересборка и перепрошивка загрузчика с отключенной отладочной консолью на соответствующих этапах загрузки.
Подключение платы к ПК
Для тестирования работы интерфейса использовалась операционная система Orangepi CM4 1.0.6 Ubuntu Focal Server Linux 5.10.160.
-
Сборку ELTAY RM66+ELTAY BASE BOARD CM4 подключить к USB-UART преобразователю (3.3V TTL) следующим образом:
ELTAY BASE BOARD CM4 USB-UART TX (вывод 8) RX RX (вывод 10) TX GND GND -
USB-UART преобразователь подключить к ПК. С помощью любой терминальной программы (PuTTY / TeraTerm / minicom и т.п.) подключиться к появившемуся COM порту.
-
Подать питание на микрокомпьютер. Дождаться загрузки системы и подключиться к плате по SSH для выполнения команд и контроля работы UART (для работы требуется сетевое подключение по Wi-Fi или Ethernet).
Подключение overlay-файла
Для использования UART2 в качестве обычного последовательного порта (а не как отладочной консоли) необходимо подключить overlay-файл.
Overlay-файлы в используемой ОС находятся в каталоге /boot/dtb/rockchip/overlay/.
Для включения UART2 на процессоре RK356x используется overlay-файл rk356x-uart2-m0.dtbo.
Команда для проверки наличия нужного файла:
ls -la /boot/dtb/rockchip/overlay/rk356x-uart2-m0.dtbo
Подключение overlay-файлов производится в файле конфигурации /boot/orangepiEnv.txt. Для подключения файла необходимо:
- Подключиться к микрокомпьютеру и открыть файл
/boot/orangepiEnv.txtдля редактирования:sudo nano /boot/orangepiEnv.txt - Убедиться, что присутствует строка описания префикса для overlay-файлов:
Если строка отсутствует, нужный overlay-файл в следующем пункте следует добавлять вместе с указанием префикса, как в названии файла -
overlay_prefix=rk356xrk356x-uart2-m0. - Добавить overlay
uart2-m0в параметрoverlaysконфигурационного файла:Еслиoverlays=uart2-m0overlaysуже содержит значения, название нового файла необходимо добавить в конец через пробел:overlays=spi1 i2c3 uart2-m0 - Сохранить изменения в файле и перезагрузить устройство:
sudo reboot
Проверка работы
Открытие порта
После загрузки микрокомпьютера необходимо определить доступное устройство:
ls -la /dev/ttyS*
Обычно используется /dev/ttyS2.
Для настройки и открытия порта используется команда
sudo stty -F /dev/ttyS2 115200 raw -echo
со следующими настройками
- скорость 115200 бод
- 8N1 - длина данных 8 бит, паритетность отключена, 1 стоп-бит
- Flow control: None
Проверка передачи (ELTAY RM66 → ПК)
Для передачи данных от микрокомпьютера к ПК можно использовать команду
echo "UART2 TEST OK" | sudo tee /dev/ttyS2 > /dev/null
При этом в терминальной программе, открытой на ПК для COM порта, должна появиться строка UART2 TEST OK.
Проверка приёма (ПК → ELTAY RM66)
Для просмотра данных, принимаемых микрокомпьютером по UART, можно выполнить прямое чтение из соответствующего символьного устройства:
sudo cat /dev/ttyS2
Для отправки данных с ПК необходимо ввести какие-либо данные в терминальной программе, подключенной к COM порту. Введенные данные должны сразу же отобразиться в терминале SSH как принятые микрокомпьютером.
Для остановки прямого чтения устройства на микрокомпьютере - Ctrl+C.