LINUX.ORG.RU

Embedded linux. Не работает UART1, UART2 - Lichee Pi Zero

 , , ,


0

1

Информация

Всем привет. Имеется микрокомпьютер Lichee Pi Zero.

На ней есть 3 UART:

  • Uart0 - По умолчанию используется при загрузке u-boot и как терминал linux (/dev/ttyS0)
  • Uart1, Uart2 - Не включен в ядро по умолчанию.

Включаю UART1 в ядро

По китайским докам на эту платку + google translate:

Я включил Uart1 и в ядре, и в u-boot. Скомпилировал, залил.

ls /dev/tty*

Если я пишу:

ls -l /dev/tty*

Мне выдает огромный список: Скриншот

Если я пишу:

ls -l /dev/ttyS*

Выдает от /dev/ttyS0 до /dev/ttyS1.

Echo

Если я пишу:

echo 'hello' > /dev/ttyS0
  • выводит спокойно hello

Если пишу:

echo 'hello' > /dev/ttyS1
  • ругается, выдает ошибку.

Через echo вероятно выводить не будет т.к. скорость и параметры порту (/dev/ttyS1) не заданы.

Minicom

Значит использую minicom. Задаю скорость 115200, параметры. В итоге minicom открывается на нужный порт, но ничего не происходит - не реагирует. Даже если tx на rx закорочу - эха нет.

Как быть? Что делать?

Возможно я что-то проглядел с ядром или u-boot. Возможно что-то нужно указать в самом linux’е или в minicom’e я что-то пропустил. Вообщем буду очень рад если поможете.

Также нашел такой туториал, где основаной uart0 оставляют, а весь вывод u-boot и терминал linux задают на uart2.

Ответ на: комментарий от ilovewindows

ls -l /dev/ttyS* на обычном компе выдает ttyS0-ttyS31, но физически есть только ttyS0, так-то это не показатель наличия порта, Uart1 и Uart2 у тебя не появились, не дошло дело до параметров, minicom ошибку игнорирует, а echo да, выдает bash: echo: ошибка записи: Ошибка ввода/вывода

ilovewindows ★★★★★ ()
Последнее исправление: ilovewindows (всего исправлений: 1)
Ответ на: комментарий от CYB3R

Да по китайским докам добавил:

sun8i-v3s.dtsi: uart0_pins_a: uart0@0 { pins = «PB8», «PB9»;function = «uart0»;bias-pull-up; }; uart1_pins_a: uart1@0 { pins = «PE21», «PE22»;function = «uart1»;bias-pull-up; };

sun8i-v3s-licheepi-zero.dts: &uart0 { pinctrl-0 = <&uart0_pins_a>;pinctrl-names = «default»;status = «okay»; }; &uart1 { pinctrl-0 = <&uart1_pins_a>;pinctrl-names = «default»;status = «okay»; }

dannelka11 ()