rv1108 tty uart serialport框架分析-1

(一)环境参数

硬件:rv1108

sdk:20170426
kernel:
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 104
EXTRAVERSION =
NAME = TOSSUG Baby Fish

(二)tty背景知识

TTY是各种类型终端设备的简称,是Teletype的缩写,Teletype是最早出现的一种终端设备,类似电传打字机。终端设备一般放在/dev目录下,终端是一种字符型设备,有很多类型,一般有以下几种:
1)串行端口终端 /dev/ttySn
  串行端口终端(Serial Port Terminal)是使用串行端口连接的终端设备。每个串行端口看作一个字符设备,这些串行端口所对应的设备名称是/dev/ttS0 ttS1等。若要向一个端口发送数据可以在命令行上吧标准的输出重定向串行端口终端设备上即可。
2)伪终端 /dev/pty
  伪终端(Pseudo Terminal)是成对的逻辑终端设备。是一对相互连接的虚拟设备,称为主从设备。在主从设备之间,通过IPC信道通讯,可以实现数据双向传输。本质是驱动程序替代实际硬件设备进行数据交互。典型应用是Telnet和SSH登录网络设备。
3)控制终端 /de/tty
  在你登录的shell中输入“tty”可以查看shell具体对应哪个实际终端设备。 tty /dev/pts/6
echo 123 > /dev/tty
123
echo 123 > /dev/pts/6
123
/de/tty目前可以认为是实际所使用终端设备的一个联接。与控制台终端非常接近。
4)控制台终端 /dev/console /dev/ttyn
  在unix/linux系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些特殊设备文件与之相关联:tty0、tty1、tty2等。当你在控制台登录系统时,使用的是tty1.使用Alt+【F1-F6】组合键,我们就可以将tty1,切换到tty2等上面。tty1-tty6等称为虚拟终端,而tty0则是当前所使用的虚拟终端的一个别名,系统所产生的信息都会发送到tty0终端上,虚拟终端也会收到相同的系统信息。只有系统或者超级用户root可以向/dev/tty0进行写操作。
rk1108设备
[root@arm-linuxtty]#echo 124 > /dev/console
124
[root@arm-linuxtty]#echo 124 > /dev/tty
124
i7 PC
echo 124 > /dev/console
bash: /dev/console: Permission denied
echo 124 > /dev/tty
124
5)其他不同的字符设备,针对ISDN设备的/dev/ttyIn终端设备


(三)tty框架初始化流程


(四)tty数据读写框架分析


 

猜你喜欢

转载自blog.csdn.net/tankaro/article/details/72842446
tty