网站大量收购独家精品文档,联系QQ:2885784924

(华清远见10年特献)《linux设备驱动开发详解》第14章.pdf

(华清远见10年特献)《linux设备驱动开发详解》第14章.pdf

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(华清远见10年特献)《linux设备驱动开发详解》第14章(华清远见10年特献)《linux设备驱动开发详解》第14章

《LINUX 设备驱动开发详解》 作者:华清远见 第 14章 Linux终端设备驱动 本章简介 在 Linux系统中,终端设备非常重要,没有终端设备,系统将无法向用户反馈 信息,Linux系统中包含控制台、串口和伪终端 3类终端设备。 14.1节阐述了终端设备的概念及分类,14.2节给出了 Linux终端设备驱动的框 架结构,重点讲解 tty_driver结构体及其成员。 14.3~14.5 节在 14.2 节的基础上,分别讲解 Linux 终端设备驱动的模块加载/ 卸载函数和 open()、close()函数,数据读写流程及 tty设备线路设置的编程方法。 在 Linux 系统中,串口驱动完全遵循 tty 驱动的框架结构,但是进行了底层操 作的再次封装,14.6 节讲解了 Linux 系统针对串口 tty 驱动的这一封装,14.7 节则 具体给出了串口 tty驱动的实现方法。 14.8节基于 14.6节和 14.7节的讲解给出了串口 tty驱动的设计实例,即S3C2410 集成 UART的驱动。 专业始于专注 卓识源于远见 ‐ 2 ‐ 终端设备 在 Linux系统中,终端是一种字符型设备,它有多种类型,通常使用 tty来简称各种类型的终端设备。 tty是 Teletype的缩写,Teletype是最早出现的一种终端设备,很像电传打字机,是由 Teletype公司生产的。 Linux系统中包含如下几类终端设备。 1.串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口 都看作是一个字符设备。这些串行端口所对应的设备名称是/dev/ttyS0(或/dev/tts/0)、/dev/ttyS1(或/dev/tts/1) 等,设备号分别是(4,0)、(4,1)等。 在命令行上把标准输出重定向到端口对应的设备文件名上就可以通过该端口发送数据,例如,在命 令行提示符下输入“echo test /dev/ttyS1”会把单词“test”发送到连接在 ttyS1端口的设备上。 2.伪终端(/dev/pty/) 伪终端(Pseudo Terminal)是成对的逻辑终端设备,并存在成对的设备文件,如 /dev/ptyp3 和 /dev/ttyp3,它们与实际物理设备并不直接相关。如果一个程序把 ttyp3 看作是一个串行端口设备,则它对 该端口的读/写操作会反映在该逻辑终端设备对应的 ttyp3上,而 ttyp3则是另一个程序用于读写操作的逻辑 设备。这样,两个程序就可以通过这种逻辑设备进行通信,使用 ttyp3 的程序会认为自己正在与一个串行 端口进行通信。 以 telnet为例,如果某人在使用 telnet程序连接到 Linux系统,则 telnet程序就可能会开始连接到设备 ptyp2上,而此时一个 getty程序会运行在对应的 ttyp2端口上。当 telnet从远端获取了一个字符时,该字符 就会通过 ptyp2、ttyp2传递给 getty程序,而 getty程序则会通过 ttyp2、ptyp2和 telnet程序返回“login:”字 符串信息。这样,登录程序与 telnet 程序就通过伪终端进行通信。通过使用适当的软件,可以把两个或多 个伪终端设备连接到同一个物理串行端口上。 3.控制台终端(/dev/ttyn,/dev/console) 如果当前进程有控制终端(Controlling Terminal),那么/dev/tty就是当前进程的控制终端的设备特殊文 件。可以使用命令“ps–ax”来查看进程与哪个控制终端相连,使用命令“tty”可以查看它具体对应哪个实 际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个连接。 在 UNIX 系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为 Linux 的一种终 端(TERM = Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当用户在控制台上登录 时,使用的是 tty1。按[Alt+F1]~[Alt+F6]组合键时,我们就可以切换到 tty2、tty3等。tty1~tty6等称为虚 拟终端,而 tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。因此不管当 前正

您可能关注的文档

文档评论(0)

ganqludp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档