BeagleBone Black (ubuntu)(u-boot)使用串口

BeagleBone Black (ubuntu)(u-boot)使用串口

前面一篇博客讲了如何用USB来上网
这一篇讲一下如何使用BBB的串口
ubuntu的串口使用在网上其实有挺多了的~!但是~我为什么要写呢?这是一个相当尴尬的问题!
网上其他人写的基本都是利用caper maneger来管理硬件,也就是BBB的一个特色!直接将设备树文件加入到slots就行!但是我死活就不行!!
这里先讲讲起因~
因为我发现~我的/sys/devices/platform/bone_capemger/ 里根本没有slots这个文件~就不用谈添加了!
为啥呢?找遍了网上基本都是利用capemger的~未果!我就怀疑是不是我装的固件有问题~于是重烧一遍~还是没文件~用sha256校验镜像文件~没问题~排除了固件问题~那就是我对固件的使用和理解不够~于是开始翻固件的介绍网页BeagleBoardUbuntu
可是,从头翻到尾~没发现任何跟cape相关的~然后看到了下面的有一个BBB的链接
链接的最后面,就是写的capemgr的安装和使用~我当时担心是没安装~但是发现其实有~还是担心~就重新装了一遍~测试~发现还是不行~
心累的我~发现大家用的好像都是Debian~于是决定先尝试下那个~弄懂了再回来~于是去BBB的Debian的网页DebianBBB
吸取教训的我~决定~先看一边所有的介绍~Where did the slots file go?
当我看到这一段话的时候~心里一万条* * *呼啸而过~居然ubuntu那边不写!!那我怎么知道你们修改了呢(不过还是感谢这些人维护这BBB的ubuntu)
这一下我就懂了~原来现在改成了u-boot overlays用的统一的~U-Boot Cape Universal~
然后仔细看了下介绍~只需要修改 、boot/uEnv.txt 文件里就行~

下面就详细介绍一下怎么使用串口:

首先明确要使用的串口,以及对应的引脚:可以查阅官方的文档和图片在这里

或者如下图:
这里写图片描述
现在我们要使用的事UART1。
引脚得用到P9.24,P9.26。准备一个USB转TTL的模块,连接UART1到电脑,用串口助手打开对应的串口~
这就完成了硬件接线~

接着就是修改/boot/uEnv.txt文件了

通过putty或者调试串口ttyS0登入BBB的终端~

sudo nano /boot/uEnv.txt
进入文件,修改或者添加一行
UART1
uboot_overlay_addr0=/lib/firmware/BB-UART1-00A0.dtbo

那这里就要问了~为什么文件名是这个BB-UART1-00A0.dtbo~
可以看一下这个博客这里
先去了解一下linux的设备树(device tree)用来配置BBB引脚的功能,启动相应的驱动程序,这里先不多讲~
首先明确的是~关于串口的驱动早就已经写好了~但是为什么用不了串口呢?
因为系统还没加载,那怎样加载驱动呢?
就是前面修改uEnv.txt文件,让系统启动的时候就加载相关的驱动!
那既然要加载驱动~那肯定的让系统知道驱动在哪~并且叫什么~
这里就可以在

ls /lib/firmware

目录下,就可以看到所有的驱动

$ ls /lib/firmware | grep UART

BB-UART1-00A0.dtbo
BB-UART2-00A0.dtbo
BB-UART2-RTSCTS-00A0.dtbo
BB-UART3-00A0.dtbo
BB-UART4-00A0.dtbo
BB-UART4-RS485-00A0.dtbo
BB-UART5-00A0.dtbo

就可以过滤出所有的UART相关设备树驱动文件

知道了驱动的名称,然后加入uEnv.txt文件中
然后重启系统,如果用调试串口观看输出的信息的话~就可以看到系统加载了UART1的dtbo文件。

现在就可以做测试了~
直接使用

$ echo “hello” > /dev/ttyS1

电脑上的串口软件设置成9600的比特率,就可以接到显示了~
使用

$ stty -F /dev/ttyS1

speed 9600 baud; line = 0;
-brkint -imaxbel
用看来查询设备信息
$ stty -F /dev/ttyS1 115200

就可以将串口1设置成115200的波特率了!
用电脑上的串口软件发送数据,这边就会有回显

好啦~这里就完成了串口的测试啦~后续会写一些代码去调用串口!
(可能会有其他办法~希望大家能够指出)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值