关于tty和console的疑问

发布于 2022-10-15 08:32:24 字数 637 浏览 16 评论 0

昨天在驱动程序板块发的,没人理,到这来碰碰运气哈

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

心是晴朗的。 2022-10-22 08:32:24

console关键就是设置显存地址的寄存器吧。

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

疾风者 2022-10-22 08:32:24

回复 2# omycle

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

不…忘初心 2022-10-22 08:32:24

就是这本书。
http://book.douban.com/subject/4895627/

console是tty的一部分吧。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文