在Linux系统中,终端是一类字符型设备,它包括多种类型,一般使用tty来简称各类类型的终端设备。编程
l 串口终端(/dev/ttyS*)数据结构
串口终端是使用计算机串口链接的终端设备。Linux架构
把每一个串行端口都看做是一个字符设备。这些串行函数
端口所对应的设备名称是/dev/ttySAC0;设计
/dev/ttySAC1……接口
l 控制台终端(/dev/console)console
在Linux系统中,计算机的输出设备一般被称为控制台终端(Console),这里特指printk信息输出到的设备。/dev/console是一个虚拟的设备,它须要映射到真/dev/console是一个虚拟的设备,它须要映射到真正的tty上,好比经过内核启动参数” console=ttySAC0”就把console映射到了串口0程序设计
l 虚拟终端(/dev/tty*)登录
当用户登陆时,使用的是虚拟终端。使用Ctcl+Alt+[F1—F6]组合键时,咱们就能够切换到tty一、tty二、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名.终端
(1)/dev/tty/SAC0
(2)/dev/tty/1-n
(3)/dev/console
Linux tty子系统包含:tty核心,tty线路规程和tty驱动。tty核心是对整个tty设备的抽象,对用户提供统一的接口,tty线路规程是对传输数据的格式化,tty驱动则是面向tty设备的硬件驱动。
UART驱动程序结构:struct uart_driver
UART端口结构: struct uart_port
UART相关操做函数结构: struct uart_ops
UART状态结构: struct uart_state
UART状态结构: struct uart_state
UART信息结构: struct uart_info