Ошибка включения UART на Beaglebone Black

Попробуйте sudo apt-get install makedev fuse .

В качестве альтернативы, sudo apt-get install udev fuse должен работать, потому что строка Depends: для пакета fuse имеет udev | makedev .

2
19.05.2018, 00:32
3 ответа

Следующие работы для Debian 9.9 с ядром 4.14 (также работали с Debian 8.3, но не работали с Debian 9.3 ).

После загрузки вы увидите файлы /dev/ttyO1,O2,O4, но они не будут работать до тех пор, пока вы не настроите контакты на правильный пинмультиплексор:

#ttyO1:
config-pin P9_24 uart
config-pin P9_26 uart
#ttyO2:
config-pin P9_21 uart
config-pin P9_22 uart
#ttyO4:
config-pin P9_11 uart
config-pin P9_13 uart

Вы должны выполнять этот шаг при каждой повторной -загрузке. Он принадлежит какому-то сценарию запуска.

Вы можете убедиться в том, что UART работают, выполнив простой циклический тест, например. для UART4:

  1. Проложите провод между P9 _11 и P9 _13

  2. экран /dev/ttyO4

  3. Текст, который вы вводите в окно, должен отображаться, отключите провод, и дальнейший ввод не будет отображаться. УАРТ работает.

3
27.01.2020, 22:09

Попробовав все, что перечислено в «Длинном и подробном вопросе», мне так и не удалось инициализировать мои порты UART. Моя проблема заключалась в том, что мой BeagleBone Black (BBB )был предварительно прошит Debian 8, когда я запускал образ Debian 9 на внешней SD-карте. Я не эксперт по процессам загрузки или BeagleBones, но из того, что я обнаружил, BeagleBone отдает приоритет загрузке со своего внутреннего eMMMC, а не с SD-карты. Итак, я предполагаю, что моя проблема заключалась в том, что мой BBB загружался с предварительно прошитого образа Debian 8, поэтому ни один из моих каналов UART не инициализировался. Затем он переключится на образ SD-карты после ее инициализации. Я думаю, что он переключился только потому, что я проверял его версию через порт отладки, и он говорил, что Debian 9, и я также мог запускать сценарии python для своей SD-карты через порт отладки.

Я решил эту проблему, удалив первый мегабайт раздела eMMC (, эффективно удалив Debian 8 ), поэтому загрузчик пропустит eMMC и загрузится прямо с SD-карты. Это позволило выполнить инициализацию всех каналов на правильном образе Debian 9.

1
27.01.2020, 22:09

Я могу поручиться за Debian 10, используя этот метод:

Мне удалось автоматически включить все 4.5 UART при загрузке -. В отличие от Debian 9 и более ранних версий, uEnv.txtприсутствует в /boot/.

  1. Создайте резервную копию этого файла.

  2. Редактировать этот файл, используя sudoпривилегии:

$ sudo nano uEnv.txt

Окончательная версия для включения всех UART 4.5 должна выглядеть следующим образом:

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.19.94-ti-r42
#uuid=
#dtb=

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1
# UART 1
uboot_overlay_addr0=/lib/firmware/BB-UART1-00A0.dtbo
# UART 2
uboot_overlay_addr1=/lib/firmware/BB-UART2-00A0.dtbo
# UART 4
uboot_overlay_addr2=/lib/firmware/BB-UART4-00A0.dtbo
# UART 5
uboot_overlay_addr3=/lib/firmware/BB-UART5-00A0.dtbo
# UART 3 (only TX). Note that in "uboot_overlay_addrX", the X need not be = UART id
uboot_overlay_addr4=/lib/firmware/BB-UART3-00A0.dtbo

###
###Overide capes with eeprom
#uboot_overlay_addr0=/lib/firmware/<file0>.dtbo
#uboot_overlay_addr1=/lib/firmware/<file1>.dtbo
#uboot_overlay_addr2=/lib/firmware/<file2>.dtbo
#uboot_overlay_addr3=/lib/firmware/<file3>.dtbo
###
###Additional custom capes
#uboot_overlay_addr4=/lib/firmware/<file4>.dtbo
#uboot_overlay_addr5=/lib/firmware/<file5>.dtbo
#uboot_overlay_addr6=/lib/firmware/<file6>.dtbo
#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo
###
###Custom Cape
#dtb_overlay=/lib/firmware/<file8>.dtbo
###
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
#disable_uboot_overlay_video=1
#disable_uboot_overlay_audio=1
#disable_uboot_overlay_wireless=1
#disable_uboot_overlay_adc=1
###
###PRUSS OPTIONS
###pru_rproc (4.14.x-ti kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo
###pru_rproc (4.19.x-ti kernel)
uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo
###pru_uio (4.14.x-ti, 4.19.x-ti & mainline/bone kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
###
###Cape Universal Enable
enable_uboot_cape_universal=1
###
###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1
###
###U-Boot fdt tweaks... (60000 = 384KB)
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet video=HDMI-A-1:1024x768@60e

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

#cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5

  1. Сохраните и перезагрузите компьютер. Наслаждаться !
0
19.01.2021, 09:49

Теги

Похожие вопросы