您现在的位置: 论文网 >> 计算机论文 >> 计算机应用论文 >> windowsnt环境下fddi网卡驱动程序设计(1)论文

windowsnt环境下fddi网卡驱动程序设计(1)

作者:未知
出处:论文网
时间:2007-01-18


.中断处理类型设为每此中断处理过程都调用时。
为使系统能及时响应所有硬件中断,高优先级的硬件中断处理程序应尽可能的减少运行时间,防止长时间的屏蔽低优先级中断,避免造程中断丢失。
miniporthandleinterrupt:由中断延时处理程序在中断延时处理时进行调用。ndis排队所有的延时处理,该服务主要处理发送完成、报文接收、描述符用尽、溢出、网卡异常等中断。
miniportsend:ndis收到上层发送请求时经过若干协议处理再向下调用此服务过程,发送的packet已含有llc和mac头,该服务过程进行边界对齐、packet约束重整、描述符映射和报文发送、以及发送资源和packet缓冲队列管理。
miniporttransferdata:多个已和网卡捆绑的协议驱动程序在接收到报文到达指示后,向网卡驱动程序发出传送请求以拷贝各自所需的报文数据部分,网卡驱动程序根据各协议驱动程序对单个packet是否进行多次拷贝,以决定是否暂存只允许单次拷贝的packet等。
miniportcheckhandle:ndis每秒调用此服务函数一次,驱动程序发现网卡异常时报告给ndis由ndis调用miniportreset进行硬件重恢复。

miniportenableintrrupt:中断使能。
miniportdisableinterrupt:中断屏蔽。
另外,每个网卡驱动程序必须有一个初始化入口点,由driver entry函数实现,它和系统相关,由操作系统在装入驱动程序时调用,主要完成初始化ndis wrapper,再由wrapper初始生成驱动程序管理块并完成相应各种初始化工作,登录网卡驱动程序所有上边缘服务入口点,同时写入ndis版本信息。
§1.2.4 ndis接口库
ndis接口库包括在ndis.sys中,它是一个核态函数库,有一套抽象的函数,无论协议驱动程序还是nic驱动程序都连接到这个库中,以实现上下层之间的操作。
第二章fddi网卡驱动程序的加载和运行
第一节 网卡驱动程序的安装
windows nt网卡驱动程序安装的目的是实现网卡相应硬件信息和驱动程序在windows nt注册库中的注册,使windows nt能够正确识别网卡,了解所必需的软硬件信息并能在windows nt启动时加载相应驱动程序。
网卡驱动程序安装时,首先在主群组的控制面板中选择“网络”,然后添加网卡,指定相应信息文件──oemsetup.inf的路径,以完成以下两个必要的操作:
复制驱动程序到相应的系统目录(windows nt根目录system32drivers)中;
在windows nt注册库中存入相应软硬件信息。
下面主要以fddi网卡为例介绍安装驱动程序所必需的工作:
§2.1.1网卡一般硬件参数
对于fddi网卡,必须在编写其oemsetup.inf文件时确定以下硬件参数:
总线类型:pci(5)……括号中的数字5表示pci总线在ndis中的总线类型代码;
厂商代号:0x5588……系统加载时确定网卡的标记,也是编程时确定pci槽号的标识;
cfid: 0x01;
介质类型:光纤(3) ……括号中的数字表示光纤在ndis中的介质类型代码;  
是否支持全双工:支持。
对于其它的硬件信息在此inf配置信息文件中可有可无,如若配置,则可在驱动程序的编写时利用这些信息,方便编程,同时有利于其它应用对其参数的确定和使用。
§2.1.2 fddi网卡加载时需在注册库登录表里做的网络配置
网卡驱动程序的安装通常将创建登录表中的四个不同子键:
software registrion键,对应于驱动程序,存在于hkey_local_machinesoftwarecompany productnameversion中。我们的fddi网卡驱动程序所对应的是hkey_local_machinesoftwarenet612yhfddiyhfddi1.0;
网卡的软件登录键,存在于hkey_local_machinesoftwaremicrosoft windows ntnt3.51networkcardsyhfddi1;
驱动程序的服务登录键,存在于hkey_local_machinesystemcurrentcontrolsetservices
网卡的服务登录键,存在于hkey_local_machinesystemcurrentcontrolsetservices
对于每一个网络部件,一个名为netrules的特殊子键在邻近的驱动程序或网卡登录子键里创建,netrules标识网络部件为网络整体的一部分。
fddi网卡驱动程序对应的标准软件登录表项将出现在以下路径:
hkey_local_machinesoftwarenet612yhfddiyhfddi1.0;
驱动程序对应的标准项的值为:
description =yhfddi/pci adapter controller
install date =……
……
refcount =0x01
servicename =yhfddi
softwaretype =driver
title =yhfddi/pci adapter controller
而且在yhfddi驱动程序相关的netrules子键下,这些值项为:
bindable =yhfddi driver yhfddi adapter non exclusiver
bindform =“yhfddisys”yes no container
class = reg_multi_sz “yhfddi driver basic”
infname =oemnad1.inf
type =yhfddisys ndisdriver yhfddidriver
use =driver
yhfddi网卡在如下路径的networkcards子键里介绍:
hkey_local_machinesoftwaremicrosoft
windows ntnt3.51networkcardsyhfddi1;
网卡的标准项包括以下这些值:
description =yhfddi/pci adapter controller
install date =……
manufacturer =net612
productname =yhfddi
servicename =yhfddi01
title =[01]yhfddi/pci adapter controller
§2.1.3编写inf信息配置文件
gui inf描述语言被windows nt用以书写系统所有部件的配置文件,当然也可以用以书写网络系统各部件的配置文件,该配置文件描述了网络部件安装、配置、删除的执行过程。当网络部件进行初始安装或二次安装(通常通过ncpa进行)时,安装程序读取部件对应的配置文件,进行解释执行。gui inf描述语言由节、命令、逻辑操作、变量规范、流程控制以及一套调用dll或外部程序的机制组成,其中,节是配置文件的主体,节可分为install节(类似于函数),shell节(也类似于函数,但可调用insall和shell节),detect节(不包含命令),一个配置文件一般由若干不同类型的节组成。驱动程序的开发者根据需要可以在配置文件中编写相应代码,使得用户和系统之间能进行交互,并且由用户决定一些配置参数。
nt网卡配置文件有其一套规范,驱动程序开发者必须按规范编写配置文件,一般来说,一个配置文件至少应该提供下面三个节:
安装入口点:[identify]shell节。该节主要功能是给出安装部件的类型名,系统通过它识别该部件属于哪一大类(display,mouse,scsi,network等)中的哪一类(网络adapter,driver,transport,service,network和netprovidor),同时,还需要给出映像文件和配置文件所在的源介质及标识。
[returnoption]shell节。系统执行安装identify节后,执行该节。它主要功能是检查所需安装的部件是否支持的硬件平台和语言,并给出网卡名(有些配置文件支持多类网卡,此时必须让用户进行选择,并获得选择结果)。
[installoption]shell节。该节是配置文件得主体,也是上次安装完后再次进行配置、删除、更新的入口点。主要功能是拷贝映像文件和配置文件,生成配置的各种选项,创建该部件在注册库中对应的各种登录子树并更新重写。  

第二节 驱动程序的加载过程
§2.2.1 windows nt的启动过程
第一阶段:调入装入程序。和硬件平台相关,x86机器首先由rom装入根扇区,再由根扇区装入ntldr;
第二阶段:硬件检测。x86机器调ntdetect程序最大限度地获取各种硬件设备信息,引导hal及基本卷设备驱动程序,以便引导nt内核;

上一页 [1] [2]

论文搜索
关键字:windowsnt fddi 网卡 驱动程序
最新计算机应用论文
基于网络信息安全技术管理的计算机应用研究
浅析人工智能体系建设
抖音短视频平台视频推荐模式研究
应用电子技术中可编程控制器的应用探讨
用友NC信息系统的实施应用实践研究
基于校园一卡通数据系统的学生行为分析研究
云环境下基于蚁群算法的动态容错技术研究
自拍图像中的记忆痕迹
抖音短视频用户使用动机研究
基于创新扩散理论的Vlog传播
热门计算机应用论文
学生成绩管理系统的设计与实现
浅析计算机病毒及防范的措施
学籍管理系统软件
对计算科学与计算机发展的思考
计算机应用型人才的培养模式研究
物资管理信息系统开发
计算机信息管理在第三方物流中的应用
嵌入式系统数字图像采集接口电路设计
基于B/S体系结构开发应用系统
项目管理在软件中的应用