Настройка портов tty на Beaglebone Black с помощью Angstrom linux

Я использую Beaglebone Black, который запускает сборку Angstrom v2012.12, которая была предварительно загружена. Я хочу подключить другое устройство к последовательному порту через соединения UART в заголовках GPIO. Проблема в том, что я не могу определить, к каким устройствам /dev/tty эти карты. Когда я пытаюсь получить доступ к /dev/ttyS? устройства (например, с помощью od /dev/ttyS2 ) Я получаю «ошибку чтения: ошибка ввода / вывода».

Может ли кто-нибудь сказать мне, если UARTS сопоставлены с tty-устройствами по умолчанию, если да, то какие, а если нет, то я могу создать нужные устройства?

Вы можете это проверить. это должно быть просто. http://hipstercircuits.com/enable-serialuarttty-on-beaglebone-black/

Были разговоры о необходимости перестроить Ångström, чтобы включить последовательный порт с новым ядром. Это не обязательно. Компилятор дерева устройств (DTC) появился на моем BBB, поэтому компиляция была довольно безболезненной (как только я понял, что осциллограф подключен к правой BeagleBone ..) UART4 в BBB_SRM – это UART5 в системе дерева устройств и ttyO4 на кость. Штырь TXD (передается как видно из устройства) – P9_13, а вывод RXD (принимать как видно из устройства) – P9_11. Затем вы можете заставить их говорить, как в приведенном выше изображении, или вы можете использовать один BeagleBone, чтобы видеть отладочные сообщения от другого, когда он загружается. Очень хорошо для отладки ..

На вашей beaglebone, начните nano :

 nano enable-uart5.dts 

Скопируйте-вставьте следующее в nano:

 /* * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ /dts-v1/; /plugin/; / { compatible = "ti,beaglebone", "ti,beaglebone-black"; /* identification */ part-number = "uart5"; fragment@0 { target = <&am33xx_pinmux>; __overlay__ { pinctrl_uart5: pinctrl_uart5_pins { pinctrl-single,pins = < 0x070 0x26 /* P9_11 = GPIO0_30 = GPMC_WAIT0 , MODE6 */ 0x074 0x06 /* P9_13 = GPIO0_31 = GPMC_WPN, MODE6 */ >; }; }; }; fragment@1{ target = <&uart5>; __overlay__ { status = "okay"; }; }; fragment@2 { target = <&ocp>; __overlay__ { test_helper: helper { compatible = "bone-pinmux-helper"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart5>; status = "okay"; }; }; }; }; 

Сохраните файл (Ctrl-o)

Выход из nano (Ctrl-x)

Если у вас есть BeagleBone Black, вы можете скомпилировать прошивку для наложений дерева устройств, не устанавливая приседания:

 dtc -O dtb -o enable-uart5-00A0.dtbo -b 0 -@ enable-uart5.dts 

Теперь у вас должен быть файл с именем enable-uart5-00A0.dtbo.

Скопируйте этот файл в каталог прошивки:

 cp enable-uart5-00A0.dtbo /lib/firmware/ 

Затем включите наложение:

 echo enable-uart5 > /sys/devices/bone_capemgr.*/slots 

Теперь у вас должен быть файл в / dev, называемый ttyO4. Вы можете попытаться прослушать его, указав его:

 cat /dev/ttyO4 

Или вы можете что-то отправить ему:

 echo test > /dev/ttyO4 

Если у вас нет файла /dev/ttyO4 , проверьте журнал ядра:

 dmesg 

Чтобы проверить и убедиться, что контакты правильно настроены, проверьте списки в группах контактов:

 cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups 

Вы должны увидеть группу контактов для uart5.