首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

驱动串口驱动分析(二)-tty core

前言 tty这个名称源于电传打字节的简称,在linux表示各种终端,终端通常都跟硬件相对应。比如对应于输入设备键盘鼠标,输出设备显示器的控制终端和串口终端。也有对应于不存在设备的pty驱动。...在如此众多的终端模型之中,linux是怎么将它们统一建模的呢?这就是我们今天要讨论的问题。 tty驱动概貌 tty架构如下所示: 如上图所示,用户空间主要是通过系统调用与tty core交互。...因此,我们说串口驱动也是一个字符设备驱动。...因此,也可以说串口驱动是总线设备驱动模型。...在查找 tty 驱动程序时,需要调用 tty_lookup_driver 函数来查找对应的 tty 驱动程序,并将找到的 tty 驱动程序保存到 driver 变量中。

41150

linux tty_linux tty

tty是Teletype的缩写。 Teletype是最早出现的一种终端设备——可以称作电传打字机,由Teletype公司生产。ttyLinux系统的设备特殊文件目录/dev/下。...(可接串口来实验) ( echo命令:主要作用功能是在屏幕上显示文字,也可以直接在文件中写入要写的内容 ) ---- 2、伪终端(/dev/pty/) 伪终端(Pseudo Terminal)是成对的逻辑终端设备...它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。 当你在控制台上登录时,使用的是tty1。...tty0 5、其它类型 Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。...---- Q:/dev/tty是什么? A:tty设备包括虚拟控制台,串口以及伪终端设备。

4.6K21
您找到你想要的搜索结果了吗?
是的
没有找到

linuxtty详解

它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。这些文件赋予了linux同时处理多任务,多窗口切换的能力。...我们通常在linux下看到的控制台一般是/dev/ttyN,用户可以使用alt+Fn切换控制台,看起来感觉存在多个屏幕。.../dev/tty1等代表第一个虚拟控制台 例如当使用ALT+F2进行切换时,系统的虚拟控制台为/dev/tty2 ,当前控制台(/dev/tty)则指向/dev/tty2 你可以登录到不同的虚拟控制台上去...tty0是系统自动打开的,但不用于用户登录。...查看我当前tty: ~ » tty /dev/pts/4 现在我们在打开一个终端: ~ » tty /dev/pts/5 你会发现/dev/pts/下多了一个文件,这就是我们当前终端的控制台 你可以使用

15.9K10

linuxtty由来

从UNIX到Linux,你一定听说过TTY这个词。作为桌面用户,你应该会用到它,并且你经常使用它。在教程中,让我提及让你熟悉Linux中的术语TTY所必需的一切。...例如,GNOME 终端或Konsole是你可以找到的适用于Linux的最好的终端模拟器。 Linux中的TTY 说到 LinuxTTY是UNIX 和Linux 中的一个抽象设备。...TTYLinux和Unix中的一个子系统,它通过TTY驱动程序使进程管理、行编辑和会话管理在内核中成为可能。在编程方面,你需要深入研究。但是,考虑到本文的范围,这可能是一个容易消化的定义。...如何在Linux中访问TTYLinux中访问TTY很容易。事实上,你经常访问它。...换句话说,要知道你连接的TTY号码,只需输入TTY。并且,如果有多个用户远程连接到Linux机器,你可以使用who命令来检查其他TTY连接到哪些用户。

3.5K20

Linux 终端初始化 console_init 及 tty 驱动框架

我们一般分为三类: 串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux 把每个串行端口都看作是一个字符设备。...普通我们声明的驱动模块都是使用 module_init,如果我们写的是串口驱动,可以使用console_init 声明。...tty 驱动 我们不要把 tty 驱动串口驱动 弄混了,tty 驱动架构如下: 其中 tty driver 等价于我们普通写的驱动,可以自己写。...这一层并不是必须的,你可以直接使用驱动tty core 进行通信,但一般这一层都会有。 tty driver 就是我们常说的串口驱动。...有的人会有疑问,为什么有了 tty 驱动了,还会有一个 tty 线路规程。得益于 Linux 模块化的思想,这里主要是为了分层与隔离。

3.3K10

【收藏转发】从串口驱动Linux驱动,嵌入式入门必备!

本文通过对Linux串口驱动的分析。由最上层的C库,到操作系统系统调用层的封装,再到tty子系统的核心,再到一系列线路规程,再到最底层的硬件操作。 对Linux中的tty子系统进行简要的说明。...我们必须对串口驱动。和Linux操作系统有一定的了解。这一阶段我们有三个问题需要解决: 1.什么是Linux操作系统。 2.什么是Linux设备驱动。 3.关于串口的种种。 要了解这些概念。...在笔记本上就可以看到串口的类似下面的输出。这就是传说中的串口控制台。 ? 这个串口的指令功能是由Uboot本身完成的。并不是linux下的串口驱动。...我们主要调研的串口驱动。属于TTY子系统。所以我们cd到tty目录下。ls显示里面的文件。如图所示: ? 下面对linux内核tty设备做一点简要说明。...相信读者对于Linux下的tty子系统已经有一个概观了。下面是这个uart驱动的总图。结合数据结构的调用链。Linux内核完成了驱动模型和特定硬件的分离: ? 串口驱动数据结构总图: ?

3.5K20

驱动串口驱动分析(一)-软件架构

架构 串口驱动框架 串口驱动,内核启动的时候,便初始化完成,后期应用层用到的时候,访问设备节点便,获取串口设备的 fd 句柄,然后设置相关的参数(波特率,停止位,校验位等等)便可以使用串口进行数据收发...Linux Kernel 的 UART 串口分为几层,tty 核心层,tty 线路规程,串行驱动核心层,以及下面对接具体芯片的 ops: 整个流程走下来,有太多的数据结构和 ops,要分析清楚整个流程...串口硬件驱动层 这个层次主要负责和具体的串口硬件进行通信,实现了对硬件的控制和访问。在内核中,串口驱动模块通常被实现为字符设备,通过字符设备接口与串口核心模块进行交互。...它通过注册到串口核心层,实现了对上层的透明。 小结 tty core 和串口硬件驱动层是串口驱动框架的核心部分。...在使用串口设备时,用户通常只需要与tty core模块进行交互,而不需要直接操作串口驱动模块和平台驱动模块。下一节我们将深入到串口驱动内部分析tty core的框架体系结构。

32520

Linux 终端tty pty pts描述

在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终端。...也就是说所有登陆到当前Linux服务器的用户都有一个对应的终端,那他们有什么差异,终端到底是怎么一回事?本文作简要描述如下。...如果配置了Linux系统运行等级为3的时候,Linux启动后就直接为文本模式,在这种情况下,当我们登陆到Linux服务器,即表明开启了一个终端模式会话。...总结如下:    linux的终端机(文字)界面与图形界面间的切换热键为:    进入终端机也就是字符界面(tty1-tty6):[Ctrl] + [Alt] + [F1] - [F6]   ...三、演示tty与pty ###演示环境 [root@desktop ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release

6.7K30

moxa串口服务器配置说明(moxa串口驱动)

串口服务器简介 串口服务器提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。...使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩展串口设备的通信距离。...由电脑上的虚拟串口软件管理下面的转换器,可以实现一个虚拟串口对应多个转换器,N个虚拟串口对应M个转换器(N《=M)。该模式适用于串口设备由电脑控制的485总线或者232设备连接。...moxa串口服务器通讯设置参数 1.配置AP 步骤一:连接网线,如果遇到无法连接本地网络就先查看宽带驱动有没有装好,另外换一根网线试试。...3.判断是否配置正确 先打开AP,然后再打开串口服务器,此时等待5秒钟,在工作模式下串口服务器就会连上AP了,说明配置正确,如果连接不上说明串口服务器的密码那里可能没有和AP配置时保持一致。

6.1K10

串口驱动框架的设计思考

串口驱动框架的设计思考 1.本文概述 2.简易串口协议设计 3.基于固定缓冲区的设计 4.基于报文的处理解析 5.循环缓冲区的使用 6.基于帧处理的串口框架 7.总结 1.本文概述 串口驱动不简单,在实际工作中...,往往串口驱动框架的设计都是需要考虑的非常清楚的,特别是实际的项目中。...前面一种是基于串口的帧数据模型,而缓冲区考虑的是串口的字节模型。...其设计思想基于串口中间件的考虑,上层应用不直接访问串口驱动硬件。每次都调用同样的接口去包管理器中去取一帧数据,所以这种设计的出发点是基于一帧数据的模型。...7.总结 对于串口框架的设计,是需要好好思考的,设计串口驱动程序时,不要认为串口驱动简单,在做协议时,也不能太过于数据传输的理想化,应该综合考虑连包、断帧、超时、干扰等等因素,这样设计的驱动才会更加的稳定

1.5K12
领券