- 简介
- tty设备的名称是从过去的电传打字机缩写而来,最初是指连接到Unix系统上的物理或虚拟终端
- Linux tty驱动程序的核心紧挨在标准字符设备驱动层之下,并提供了一系列的功能,作为接口被终端类型设备使用
- 有三种类型的tty驱动程序:控制台、串口和pty
- /proc/tty/drivers
- 当前注册并存在于内核的tty设备在/sys/class/tty下都有自己的子目录
- 小型TTY驱动程序
- <linux/tty_driver.h>
- struct tty_driver
- tiny_tty_driver = alloc_tty_driver(TINY_TTY_MINORS);
- static struct tty_operations serial_ops = {.open=tiny_open, .close=tiny_close, .write=tiny_write, .write_room=tiny_write_room, .set_termios=tiny_set_termios,}
- tiny_tty_driver->owner=THIS_MODULE;
- tiny_tty_driver->driver_name=”tiny_tty”;
- tiny_tty_driver->name=”ttty”;
- tiny_tty_driver->devfs_name=”tty/ttty%d”;
- tiny_tty_driver->major=TINY_TTY_MAJOR;
- tiny_tty_driver->type=TTY_DRIVER_TYPE_SERIAL;
- tiny_tty_driver->subtype=SERIAL_TYPE_NORMAL;
- tiny_tty_driver->flags=TTY_DRIVER_REAL_RAW|TTY_DRIVER_NO_DEVFS;
- tiny_tty_driver->init_termios=tty_std_termios;
- tiny_tty_driver->init_termios.c_cflag=B9600|CS8|CREAD|HUPCL|CLOCAL;
- tty_set_operaions(tiny_tty_driver, &serial_ops);
- retval = tty_register_driver(tiny_tty_driver);
- for (i=0;i<TINY_TTY_MINORS; ++i) tty_unregister_device(tiny_tty_driver, i);
- tty_unregister_driver(tiny_tty_driver);
- termios结构
- 用来提供一系列安全的设置值
- struct termios
- tcflag_t c_iflag;
- tcflag_t c_oflag;
- tcflag_t c_cflag
《Linux Device Drivers》第十八章 TTY驱动程序——note
最新推荐文章于 2021-05-18 05:38:16 发布