博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux的串口子系统,TTY子系统
阅读量:5298 次
发布时间:2019-06-14

本文共 1712 字,大约阅读时间需要 5 分钟。

作者:callme_friend 发布于:2018-4-20 18:02

分类:TTY子系统

分析背景:xilinx_uartps.c (drivers\tty\serial)----linux-4.9内核

以具体驱动为例,描述了驱动的注册、打开和读写过程;梳理了相关数据结构间的关系。最后给出了一个模拟tty驱动实例。

作者:wowo 发布于:2016-10-29 22:43

分类:TTY子系统

由[1]中的介绍可知,Linux kernel的console框架,主要提供“控制台终端”的功能,用于:

1)kernel日志信息(printk)的输出。

2)实现基础的、基于控制台的人机交互。

本文将从console driver开发者的视角,介绍:console有关的机制;编写一个console驱动需要哪些步骤;从用户的角度怎么使用;等等。

作者:wowo 发布于:2016-10-25 22:40

分类:TTY子系统

本文将从驱动工程师的角度去看TTY framework:它怎么抽象、管理各个TTY设备?它提供了哪些编程接口以方便TTY driver的开发?怎么利用这些接口编写一个TTY driver?等等。

注1:话说介绍各个framework的时候,我一直比较喜欢用provider、consumer等概念,因为非常生动、易懂。不过在TTY framework的官方俗语中,压根没有provider、consumer等概念,为了不混淆试听,就算了吧。

注2:TTY framework在Linux kernel中算得上一个比较繁琐、庞杂的framework了,再加上现在很少有人会直接去写一个TTY driver,因此本文只是介绍一些概念性的东西,以加深对TTY及其driver的理解,为后续学习serial framework打基础。一些细节的东西,大家可参考callme_friend同学写的"TTY驱动分析[2]”,特别是其中的一些图示,很清晰!

注3:本文所使用的kernel版本为“X Project”初始的“Linux 4.6-rc5”版本。

作者:wowo 发布于:2016-10-14 22:13

分类:TTY子系统

可以毫不夸张的说,我们在使用Linux系统的过程中,每时每刻都在和TTY打交道,显示输出、键盘输入、用户登录、shell终端、等等。

与此同时,作为软件工程师的我们,也会或多或少的困惑:这些习以为常的行为,怎么和kernel中的这些冷冰冰的代码联系起来的?

因此,在Linux TTY

framework分析工作正式开始之前,让我们带着上面的疑问,以这些熟悉的应用场景为视角,进一步理解TTY有关的概念。这就是本文的目的。

作者:wowo 发布于:2016-9-27 22:42

分类:TTY子系统

由“Linux TTY

framework(1)_基本概念”的介绍可知,在Linux

kernel中,TTY就是各类终端(Terminal)的简称。为了简化终端的使用,以及终端驱动程序的编写,Linux kernel抽象出了TTY

framework:对上,向应用程序提供使用终端的统一接口;对下,提供编写终端驱动程序(如serial driver)的统一框架。

本文是Linux TTY framework分析的第二篇文章,将从整体架构的角度,介绍Linux TTY

framework,以便分解出功能相对独立的子模块,以便后续的分析。

作者:wowo 发布于:2016-9-18 22:55

分类:TTY子系统

由于串口的缘故,TTY是Linux系统中最普遍的一类设备,稍微了解Linux系统的同学,对它都不陌生。尽管如此,相信很少有人能回到这样的问题:TTY到底是什么东西?我们常常挂在嘴边的终端(terminal)、控制台(console)等概念,到底是什么意思?

本文是Linux TTY framework分析文章的第一篇,将带着上述疑问,介绍TTY有关的基本概念,为后续的TTY软件框架的分析,以及Linux

serial subsystem的分析,打好基础。

转载地址:http://dldqv.baihongyu.com/

你可能感兴趣的文章
《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47
查看>>
Hibernate=====HQL实用技术
查看>>
Silverlight中使用MVVM(3)
查看>>
oracle 11g空表导不出问题
查看>>
phpstudy 下开启openssl
查看>>
spring源码下载及转入ECLIPSE
查看>>
JavaScript学习
查看>>
haproxy实现mysql slave负载均衡
查看>>
Ansible基础配置与常用模块使用
查看>>
C++中的inLine函数
查看>>
Linux内存管理
查看>>
Trie树-可持久化
查看>>
用C#读取txt文件的方法(转)
查看>>
python note 08 文件操作
查看>>
[机器学习]回归--Decision Tree Regression
查看>>
Direct2D教程(外篇)环境配置
查看>>
2016-10-14
查看>>
Java实现Queue类
查看>>
1.7Oob 方法体中的循环也能也能返回值给方法
查看>>
java 解析xml(dom4j.jar)
查看>>