开发环境:
主机:Ubuntu12.04
开发板:RT5350
Openwrt:Openwrt15.05
1 硬件原理
从RT5350的芯片手册上可以得知, RT5350一共有两个串口, 分别为UART Lite、 UART Full,详细定义如下。
表1
UART Lite 就是我们惯称为的串口 1,作为系统调试串口,通过这个串口,我们可以看到 OpenWrt(Linux)系统的启动信息,并且可以通过该串口来控制开发板。 UART Full 就是我们惯称为的串口 2,我们通常就是用它来做 Wi-Fi 串口,然后用来控制其他串口设备。
表2
通过上表,我们发现串口 1 是和 GPIO15、16 复用的,而串口 2 是和 GPIO7~14 复用的。如果我们再详细的看芯片手册,我们就会发现,串口 2 其实也是和 I2S 复用的,具体如下。
表3
通过这张表格,我们就能找出串口 2 对应的管脚了。对于串口,我们其实也只用关系发送(TXD)、接受(RXD)和地(GND)三个引脚。因此,对于串口 2,也就是 I2SSDI、I2SWS、GND 三个引脚了。
2 OpenWrt 支持串口 2
为了使用开发板的串口 2,必须首先把串口使能,由于我们是使用的 MPRA2 这款路由的配置, 在它的配置上串口被配置成了 GPIO, 用于控制 LEDs, 所以这里需要把它改为串口模式。修改非常简单,只要修改 dts 配置文件就可以,这里就不啰嗦了,直接讲述如何修改串口的配置。
首先修改 target/linux/ramips/dts 目录下的 rt5350.dtsi 配置文件。默认的 rt5350.dtsi 配置文件,是将那个扩展串口状态给禁用了,所以我们看不到扩展串口。这里需要把那行去掉或者将状态改为 okay,详细如下。
rt5350.dtsi 配置文件中除了修改扩展串口状态外,还需要修改设备节点。
因为我们把扩展串口状态使能后,它将在调试串口的前面,扩展串口变为 ttyS0,而调试串口变为 ttyS1,所以这里需要把调试串口的 ttyS0,变为 ttyS1,具体如下。
修改后:
这样,rt5350.dtsi 配置文件就改完了,但是扩展串口相应引脚被设置为了 GPIO 模式,怎么样才能变为串口模式了呢?需要修改 MPRA2.dts 这个配置文件,同样位于源码target/linux/ramips/dts 目录下。
把 GPIO 模式去掉,把设置 GPIO 的设置项中 uartf 去掉,详细如下
修改后:
3 串口2 的简单测试
注意:开发板上必须进行如下短接。
图1
经过前面的努力,扩展串口 2 就可以使用了,扩展串口 2 的名字为 ttyS0,我们可以通过 echo hello f403tech > /dev/ttyS0 这个命令进行测试,如果对方接收到 hello f403tech这个字符串,那说明串口 2 已经可以正常使用了。注意,此时串口 2 默认的波特率是 9600。
图2
审核编辑:汤梓红
-
串口
+关注
关注
15文章
1607浏览量
81962 -
开发板
+关注
关注
25文章
6132浏览量
113524 -
Ubuntu
+关注
关注
5文章
603浏览量
32900 -
OpenWrt
+关注
关注
10文章
136浏览量
40835
发布评论请先 登录
Openwrt开发指南 第1章 OpenWrt入门
Openwrt开发指南 第2章 OpenWrt开发环境搭建
Openwrt开发指南 第3章 OpenWrt下载及配置
Openwrt开发指南 第4章 烧写OpenWrt固件
Openwrt开发指南 第7章 添加Web界面
Openwrt开发指南 第12章 添加OpenWrt软件包
Openwrt开发指南 第13章 OpenWrt启动流程
Openwrt开发指南 第17章 驱动开发之字符设备驱动程序
Openwrt开发指南 第22章 Openwrt串口的使用2
Openwrt开发指南 第29章 OpenWrt 防火墙介绍
RT5350 Wi-Fi 模块开发指导_物联网 openwrt 开发概述
openwrt都有什么功能_openwrt详细功能介绍_openwrt刷机教程

Openwrt开发指南 第21章 OpenWrt串口的使用1
评论