![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动之tty
阿曼
这个作者很懒,什么都没留下…
展开
-
串口的open操作(tty_open)
根据前面的操作,串口作为字符驱动也已经注册到系统了,/dev目录下也有设备文件节点了。那接下来uart的操作是如何进行的呢?操作硬件之前都是要先open设备,先来分析下这里的open函数具体做了那些工作(做了大量工作 ,真的!)。应用层通过open系统调用open(“/dev/s3c2410_serial0”,)一层一层调用到会调用到tty_open。因为串口在linux下是作为t原创 2012-08-23 00:00:38 · 16392 阅读 · 0 评论 -
tty驱动初始化
只分析tty层驱动,涉及到到console和uart相关的部分暂时只简略介绍。内核串口部分需要用到tty部分,tty包含了tty内核和tty线路规程。这些是在串口代码之前初始化。1.tty_ldisc线路规程的初始化只要是函数driver/tty/tty_io.c console_init()void __init console_init(void原创 2012-08-22 20:36:21 · 6228 阅读 · 2 评论 -
tty_struct数据结构
tty_driver是在驱动中通过alloc_tty_driver函数分配的,这个进一步调用kzalloc来申请内存,所以分配到的内存都是已经初始化为0的了。所以tty_driver中的flags等未被赋值的都是0。这里需要注意!因为到时候open的时候,会初始化tty_struct,而tty_struct中的部分值是根据tty_driver中的flags来初始化的!str原创 2014-04-18 17:22:46 · 6512 阅读 · 0 评论