易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下tty、consule、串口之间的关系收集

 1、LINUX下TTY、CONSOLE、串口之间是怎样的层次关系?具体的函数接口是怎样的?串口是如何被调用的?
      tty和console这些概念主要是一些虚拟设备的概念,而串口更多的是指一个真正的设备驱动。Tty实际是一类终端I/O设备的抽象,它实际上更多的是一个管理的概念,目的是向上层的VFS提供一个统一的接口。通过file_operations结构中的tty_ioctl可以对其进行配置。查tty_driver,你将得到n个结果,实际都是相关芯片的驱动。因此,可以得到的结论是:每个描述tty设备的tty_struct在初始化时必然挂接了某个具体芯片的字符设备驱动(不一定是字符设备),可以是很多,包括显卡或串口chip。
      而console是一个缓冲的概念,它的目的有一点类似于tty。实际上console不仅和tty连在一起,还和framebuffer连在一起,具体的原因看下面的键盘的中断处理过程。Tty的一个子集需要使用console(典型的如主设备号4,次设备号1―64),但是要注意的是没有console的tty是存在的。而串口则指的是tty_driver。 举个典型的例子,分析一下键盘的中断处理过程:
keyboard_interrupt―>handle_kbd_event―>handle_keyboard_event―>handle_scancode
void handle_scancode(unsigned char scancode, int down)
{
     ……..
     tty = ttytab? ttytab[fg_console]: NULL;
     if (tty && (!tty->driver_data)) {
         ……………
         tty = NULL; 
     }
     ………….
     schedule_console_callback();

这段代码中的两个地方很值得注意,也就是除了获得tty外(通过全局量tty记录),还进行了console回显schedule_console_callback。Tty和console的关系在此已经很明了!!!
2、printk函数是把信息发送到控制台上吧?如何让PRINTK把信息通过串口送出?或者说系统在什么地方来决定是将信息送到显示器还是串口? 具体看一下printk函数的实现就知道了,printk不一定是将信息往控制台上输出,设置kernel的启动参数可能可以达到将信息送到显示器的


相关文档:

Linux查看硬件信息

在LINUX环境开发驱动程序,首先要探测到新硬件,接下来就是开发驱动程序。
常用命令整理如下:
用硬件检测程序kudzu探测新硬件:service kudzu start ( or restart)
查看CPU信息:cat /proc/cpuinfo
查看板卡信息:cat /proc/pci
查看PCI信息:lspci (相比cat /proc/pci更直观)
查看内存信息 ......

Ubuntu8.04下编译linux内核

今天看到师兄工位上有本Linux Kernel In a Nutshell,还是全英的影印版,所以就借过来看看,发现现在看英文的书渐渐适应了,还是比较容易的,书中开始介绍如何编译Linux内核,Linux内核大三的时候也学过编译过,但是当时编译比较简单,这次决定再重头到尾好好编译一下,首先下载linux kernel,再用secureCRT上传到Ubuntu 8. ......

Linux GCC make文件的写法 总结版

目录结构为:
inc/hello.h
src/hello.c
main/main.c
Makefile
文件内容为:
hello.h:
void hello(char name[]);

hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}

main.c:
#include <stdio.h>
#include "hello.h"
// The second hello.h should ......

用SVN同VMWARE上的Linux共享代码开发

LINUX(运行在VWMARE)上自带的SVN,Windows上装的是TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi。
在Linux上配置SNV。
1、创建repository。
> svnadmin create /myhome/svnhome/project
其中svnhome是放svn的目录,下一级是不同的repository名。
2、准备好源代码。按下列目录排好。
project/branches
project/ ......

Linux/Unix下ODBC的安装、配置与编程

本文主要内容是介绍ODBC的简单原理,以及如何在Linux/Unix下进行ODBC的安装、配置与编程。
ODBC原理
ODBC
是Open Database Connect 即开放数据库互连的简称,它是由Microsoft 公司于1991
年提出的一个用于访问数据库的统一界面标准,是应用程序和数据库系统之间的中间件。它通过使用相应应用平台上和所需数据库对应的驱 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号