免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2319 | 回复: 3

关于tty和console的疑问 [复制链接]

论坛徽章:
0
发表于 2011-04-26 13:47 |显示全部楼层
昨天在驱动程序板块发的,没人理,到这来碰碰运气哈

最近看了一阵子串口驱动,是基于mini2440的,想问一下内核中的console和tty的区别在哪里?
tty核心注册了一个cdev设备,而uart_port结构里面还有一个console类型的指针。
这两个东西应该都是向串口输出字符用的,那有什么不同呢?

我的理解是:console为内核的printk函数输出服务,tty对应的cdev是为用户空间的进程输出服务的。这样说对不对呢?







另外,我最近看串口这块的驱动都一个多月了,才勉强对其框架有个了解,感觉读代码很费劲啊,碰到很多问题:
1. 驱动中往往涉及一些flag变量,这些变量每个bit位会对应一些设置或者功能什么的,但你在设置flag的代码本身这里是看不懂他是做什么用的,内核的其他地方会根据flag的设置完成不同的功能,感觉碰上这种flag的用法,很难追踪代码,理解其实际用法也很难;
2. 我是用source insight看代码的,有些时候一些汇编实现的常量source insight识别不到,无法定位到该常量的定义位置;
3. 感觉自己读代码没有什么章法,脑子里很乱的感觉;

各位有什么好的方法或者建议吗?

论坛徽章:
0
发表于 2011-04-26 14:10 |显示全部楼层
console关键就是设置显存地址的寄存器吧。

读模块,先从module_init()的函数开始看。一般都分三个层次。《Linux内核精通之道》不错。还有宋宝华的驱动书也不错。推荐!

论坛徽章:
0
发表于 2011-04-26 16:12 |显示全部楼层
回复 2# omycle


    能说详细点吗?具体console和tty的关系式怎么样的?
   另外,你说的那本书貌似没有啊,china-pub上都找不到。

论坛徽章:
0
发表于 2011-04-29 21:00 |显示全部楼层
就是这本书。
http://book.douban.com/subject/4895627/

console是tty的一部分吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP