Debian 在Beaglebone Black上启用UART
我无法启用UART。关于如何启用和排除从更新uEnv.txt文件到更新内核的故障,我已经介绍了许多不同的方向。我得出结论,使用不同于指令的内核可能会有问题,但我不确定? 我对Beaglebone不太了解,我还在学习。每当我尝试使用Python并键入以下内容来测试UART时: 将Adafruit_BBIO.UART作为UART导入 UART.设置(“UART1”) 我得到了错误:模块中第1行的文件“stdin” 运行时错误:无法导出UART通道 我也开始担心我根本没有capemgr。当我运行命令时: ls系统/设备 我没有列出capemgr 我正在使用最新的Debian图像:Jessie Debian 8.3(2016-01-24) 我运行的内核版本是4.1.17-ti-rt-r46 我的DTC版本是1.4.1-g1e75ebc9Debian 在Beaglebone Black上启用UART,debian,beagleboneblack,uart,beagleboard,microprocessors,Debian,Beagleboneblack,Uart,Beagleboard,Microprocessors,我无法启用UART。关于如何启用和排除从更新uEnv.txt文件到更新内核的故障,我已经介绍了许多不同的方向。我得出结论,使用不同于指令的内核可能会有问题,但我不确定? 我对Beaglebone不太了解,我还在学习。每当我尝试使用Python并键入以下内容来测试UART时: 将Adafruit_BBIO.UART作为UART导入 UART.设置(“UART1”) 我得到了错误:模块中第1行的文件“stdin” 运行时错误:无法导出UART通道 我也开始担心我根本没有capemgr。当我运行命令时
我真的很感激任何帮助。我已经为这个问题绞尽脑汁好几天了。谢谢大家! 很明显,这些力量可能会改变文件,让我们保持警觉 TamusJRoyce在这里留下了一条评论:这帮助了我:
/media/BEAGLEBONE/env.txt和/boot/uBoot/uEnv.txt已移动到/etc/default/capemgr(可能不存在的文件)。它还有一个新的语法。添加“CAPE=BB-SPI-01、BB-UART1、BB-UART2、BB-UART4”以使主端口正常工作。然后重新启动。
在运行Debian 8的Beaglebone Black上启用UART1和UART2
- 步骤1:sudo nano/etc/default/capemgr
- 步骤2:将
更改为:#CAPE=
CAPE=BB-UART1、BB-UART2
- 步骤3:重新启动
- 步骤4:ls/dev/ttyO*
- 结果:/dev/ttyO0/dev/ttyO1/dev/ttyO2
您可以更改/boot/uEnv.txt 首先,启用UART:
cape_disable=bone_capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
cape_enable=bone_capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5
然后别忘了用适当的dtbo配置pinmux:
###Overide capes with eeprom
uboot_overlay_addr0=/lib/firmware/BB-UART1-00A0.dtbo
uboot_overlay_addr1=/lib/firmware/BB-UART2-00A0.dtbo
uboot_overlay_addr2=/lib/firmware/BB-UART4-00A0.dtbo
uboot_overlay_addr3=/lib/firmware/BB-UART5-00A0.dtbo
我已经回答了这个问题,但让我重新发布:
我可以使用以下方法证明Debian 10:
我能够在启动时自动启用所有4.5 UART。与Debian 9和旧版本不同,uEnv.txt
出现在/boot/
中
sudo
权限编辑此文件:
#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
#文档:http://elinux.org/Beagleboard:U-引导分区布局2.0
uname_r=4.19.94-ti-r42
#uuid=
#dtb=
###U-Boot覆盖层###
###文件:http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-靴盖
###主使能
启用\u uboot\u覆盖=1
#UART 1
uboot\u overlay\u addr0=/lib/firmware/BB-UART1-00A0.dtbo
#UART 2
uboot\u overlay\u addr1=/lib/firmware/BB-UART2-00A0.dtbo
#UART 4
uboot\u overlay\u addr2=/lib/firmware/BB-UART4-00A0.dtbo
#UART 5
uboot\u overlay\u addr3=/lib/firmware/BB-UART5-00A0.dtbo
#UART 3(仅发送)。注意,在“uboot\u overlay\u addrX”中,X不必是=UART id
uboot\u overlay\u addr4=/lib/firmware/BB-UART3-00A0.dtbo
###
###用eeprom覆盖CAPE
#uboot\u overlay\u addr0=/lib/firmware/.dtbo
#uboot\u overlay\u addr1=/lib/firmware/.dtbo
#uboot\u overlay\u addr2=/lib/firmware/.dtbo
#uboot\u overlay\u addr3=/lib/firmware/.dtbo
###
###额外定制披风
#uboot\u overlay\u addr4=/lib/firmware/.dtbo
#uboot\u overlay\u addr5=/lib/firmware/.dtbo
#uboot\u overlay\u addr6=/lib/firmware/.dtbo
#uboot\u overlay\u addr7=/lib/firmware/.dtbo
###
###定制斗篷
#dtb_overlay=/lib/firmware/.dtbo
###
###禁用虚拟CAPE的自动加载(emmc/视频/无线/adc)
#禁用\u uboot\u overlay\u emmc=1
#禁用\u uboot\u overlay\u video=1
#禁用\u uboot\u overlay\u audio=1
#禁用\u uboot\u overlay\u wireless=1
#禁用\u uboot\u overlay\u adc=1
###
###普鲁士期权
###pru_rproc(4.14.x-ti内核)
#uboot\u overlay\u pru=/lib/firmware/AM335X-pru-RPROC-4-14-TI-00A0.dtbo
###pru_rproc(4.19.x-ti内核)
uboot\u overlay\u pru=/lib/firmware/AM335X-pru-RPROC-4-19-TI-00A0.dtbo
###pru_uio(4.14.x-ti、4.19.x-ti和主线/骨内核)
#uboot\u overlay\u pru=/lib/firmware/AM335X-pru-UIO-00A0.dtbo
###
###Cape Universal Enable
启用_uboot_cape_universal=1
###
###调试:禁用Cape的uboot自动加载
#禁用\u uboot\u overlay\u addr0=1
#禁用\u uboot\u overlay\u addr1=1
#禁用\u uboot\u overlay\u addr2=1
#禁用\u uboot\u overlay\u addr3=1
###
###U-Boot fdt调整。。。(60000=384KB)
#uboot\u fdt\u缓冲区=0x60000
###U-Boot覆盖层###
cmdline=CONNECTURE\U pool=1M net.IFNAME=0 lpj=1990656 rng\U core.default\U quality=100安静
#如果edid real失败,请取消注释下一行:
#cmdline=CONNECTURE\U pool=1M net.IFNAME=0 lpj=1990656 rng\U core.default\U quality=100安静视频=HDMI-A-1:1024x768@60e
##启用通用eMMC闪光器:
##确保已安装以下工具:dosftools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
#cape\U enable=capemgr.enable\U partno=BB-UART1、BB-UART2、BB-UART4、BB-UART5
在他们的github repo上打开一个问题,你会有更好的运气:因为你的董事会运行的是Linux操作系统,所以你不能直接访问任何UART。检查系统日志,查看串行端口是否已正确探测和安装(例如,
dmesg | grep serial
)。检查/dev目录中的ttyS*或ttyO*设备,即串行终端。[检查此链接这应该是公认的答案。我花了几个小时试图让我的4.1.17 UART正常工作。不知道为什么我能找到的文档中没有一个提到capemgr的新文件位置。只是一个注释。我在逗号后有一个空格分隔UART端口,这也导致它失败。没有空格!为什么它们会四处移动uEnv.txt
?
$ sudo nano uEnv.txt
#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