
linux设备驱动
ab198604
这个作者很懒,什么都没留下…
展开
-
网卡驱动实例解读分析
<br />在此仅仅讨论网络设备驱动的一般写法,有关硬件部分的相关代码由于硬件规格不同,予以省略。有什么地方错误,或补充,欢迎大家提出。 <br /><br />1, 驱动模块的加载和卸载 <br />如果网络设备(包括wireless)是PCI规范的,则先是向内核注册该PCI设备(pci_register_driver),然后由pci_driver数据结构中的probe函数指针所指向的侦测函数来初始化该PCI设备,并且同时注册和初始化该网络设备。 <br />如果网络设备(包括wireless转载 2010-09-03 15:10:00 · 873 阅读 · 0 评论 -
ubuntu 2.6.32.21内核树搭建
什么是内核树?刚开始我也没弄明白,通过这几天的学习,有所感悟,就说说我的理解吧!从形式上看,内核树与内核源码的目录结构形式是相同的,都是由各个层次的文件目录结构组成,但是其中的具体内容肯定是不同的。从功能上看,内核树中含有编写或编译Kernel程序或驱动时所需要的一些内核函数库以及定义好的一些数据结构,数据类型等,说白了,当你在进行kernel编程或者是编写linux设备驱动时都需要用到这里面的一些资源,并且我们写好的驱动程序时,也需要用到内核树来编译,因此从这个角度上来看,内核树也可以看作是一个编译器原创 2010-09-29 14:15:00 · 3568 阅读 · 4 评论 -
linux设备驱动中重要的3个数据结构
3.3一些重要的数据结构大多数基本的驱动操作涉及到内核的3个重要数据结构:file_operations,file 和inode.。我们已经拥有一些设备号,但是如何将其与驱动操作连在一起呢?file_operations结构就是这个桥梁,这个结构体定义在中,它是一群函数的指针集合,每个所打开的文件都存在一个f_op指针指向file_operations结构体,里面的操作大部分主要完成系统调用,如open,read等。我们可以将file看成对象,对它操作的操作看成是方法,使用面向对象程序设计(object原创 2010-09-29 17:48:00 · 3517 阅读 · 0 评论 -
浅谈 Linux 内核开发之网络设备驱动[转]
<br />本文来自:http://www.ibm.com/developerworks/cn/linux/l-cn-networkdriver/<br />网络设备介绍<br />网络设备是计算机体系结构中必不可少的一部分,处理器如果想与外界通信,通常都会选择网络设备作为通信接口。众所周知,在 OSI(OpenSystemsInterconnection,开放网际互连)中,网络被划分为七个层次,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。我们所讲的网络设备也包转载 2010-10-11 15:25:00 · 928 阅读 · 0 评论