分享

Linux Serial HOWTO 中译版: 串口的名称是什么?

 昵称7491400 2011-08-31
Next Previous Contents

3. 串口的名称是什么?


一个输出/入(I/O)埠是用来将数据送入电脑及从电脑取出的通路.有许多种类的输出/入埠,例如串口,平行埠,磁盘控制器,以太网卡等等.我们要处理的是串口,因为调制解调器及终端机是串行装置.每一个串口必须有一个输出/入地址,以及一个插断号码(IRQ).有四个串行设备对应到 COM1 - COM4:

ttyS0 (COM1) address 0x3f8 IRQ 4
ttyS1 (COM2) address 0x2f8 IRQ 3
ttyS2 (COM3) address 0x3e8 IRQ 4
ttyS3 (COM4) address 0x2e8 IRQ 3
如果 Linux 启动时没有侦测到任何串行装置,请确定在编译核心时有加入串行支持.在这份文件中,我是以 ttyS0 参照 COM1,ttyS1 参照 COM2,以 ttyS2 参照 COM3 ,而以 ttyS3 参照 COM4.注意这些装置预设的 IRQ 是重叠的.你无法由这些预设值使用所有的串口,你必须重新指定不同的 IRQ.参见 我能使用超过两个的串行装置吗? 一节说明如何设定 IRQ.

某些安装方式会建立两个额外的设备,给你调制解调器使用的 /dev/modem 以及给你鼠标使用的 /dev/mouse.它们都是链结到你在安装时所指定适当 /dev 里的设备的符号链结(除非你用的是总线鼠标(bus mouse) ,那么 /dev/mouse 将会指到总线鼠标这个设备).

已经有些关于使用 /dev/mouse 以及 /dev/modem 优缺点的讨论.我强烈地反对使用这些链结,如果你打算用你的调制解调器接受拨号的话,要是你使用了 /dev/modem 那么你将会因为锁定文件(lock files)无法正确运作而遭遇到困难.如果你喜欢它们的话就用吧,但是要确定它们指向正确的设备.然而,如果你改变或除去这个连结,某些应用程序(例如 minicom)可能要重新设定.

3.1 在 /dev 里的串行设备及主要和次要号码

/dev/ttyS0 major 4, minor 64    /dev/cua0 major 5, minor 64
/dev/ttyS1 major 4, minor 65    /dev/cua1 major 5, minor 65
/dev/ttyS2 major 4, minor 66    /dev/cua2 major 5, minor 66
/dev/ttyS3 major 4, minor 67    /dev/cua3 major 5, minor 67
要注意到所有的发行套件都应该已经正确地建立了这些设备.你可以用下法检查:
linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*

/dev 中建立设备

如果你没有其中的一个设备,你必须自己用 mknod 指令建立它.例如,假定你需要建立 ttyS0 设备:

linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64
你也可以使用 MAKEDEV 这个脚本文件,在 /dev 下应该会有.这简化了设备的建立.例如,如果你需要建立 ttyS0 设备则应该输入:
linux# cd /dev
linux# ./MAKEDEV ttyS0
这将会处理关于连线进来以及连线出去的设备之建立,并设定正确的权限.

3.2 一般多口板的注意事项

你的多口板所使用的设备视你使用那一种多口板而定.这些细节详细列在随附於 setserial 程序的 rc.serial 里面.如果你尝试使用多口板的话我强烈建议你取得最新版本的 setserial.你可能会需要建立这些设备.无论是用 mknod 指令或是 MAKEDEV 脚本文件都可以.多口板所用设备是以加上 ``64 + 埠号'' 来建立的.所以,如果你想为 ttyS17 建立设备,你应该输入:

linux# mknod -m 666 /dev/cua17 c 5 81
linux# mknod -m 666 /dev/ttyS17 c 4 81
要注意到 ''64 + 17 = 81''.使用 MAKEDEV 脚本文件的话,你应该输入:
linux# cd /dev
linux# ./MAKEDEV ttyS17

注意: SIIG 的 IO1812 手册上列出的 COM5-COM8 是错的.它们应该是 COM5=0x250, COM6=0x258, COM7=0x260, 以及 COM8=0x268.

注意: Digi PC/8 Interrupt Status Register 是 0x140.

注意: 对于 AST Fourport,你必须在 rc.serial 中指定 skip_test

3.3 智慧型多口板的注意事项

阅读随附驱动程序而来的信息.这些板使用了特殊的装置,而非标准的.这些信息视你的硬件而定.


Next Previous Contents

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多