网卡设备驱动.doc

网卡设备驱动.doc

ID:50807173

大小:121.00 KB

页数:47页

时间:2020-03-14

网卡设备驱动.doc_第1页
网卡设备驱动.doc_第2页
网卡设备驱动.doc_第3页
网卡设备驱动.doc_第4页
网卡设备驱动.doc_第5页
资源描述:

《网卡设备驱动.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网卡设备驱动1.8139too网卡设备简介一个PCI设备,总共有三个地址空间:内存,端口和配置。内存和端口其实是同一个内容的不同访问路径而已。PCI设备的配置空间是标准化的,每个PCI设备的配置空间的前64个字节的含义都是一样的。但各个设备的内存和端口空间是完全不一样的。在硬件概念上,设备的I/O内存和I/O端口空间没有区别,其实都是设备拥用的一些读写寄存器。   8139too网卡拥有256字节的读写寄存器空间。它的整个布局如下:       /*Symbolicoffsetstoregisters.*/       enumRTL8139_registers{ 

2、          MAC0=0,      /*Ethernethardwareaddress.*/           MAR0=8,      /*Multicastfilter.*/           TxStatus0=0x10,  /*Transmitstatus(Four32bitregisters).*/           TxAddr0=0x20,    /*Txdescriptors(alsofour32bit).*/           RxBuf=0x30,           ChipCmd=0x37,           RxBufP

3、tr=0x38,           RxBufAddr=0x3A,           IntrMask=0x3C,           IntrStatus=0x3E,           TxConfig=0x40,           RxConfig=0x44,           Timer=0x48,      /*Ageneral-purposecounter.*/           RxMissed=0x4C,   /*24bitsvalid,writeclears.*/           Cfg9346=0x50,           Con

4、fig0=0x51,           Config1=0x52,           FlashReg=0x54,           MediaStatus=0x58,           Config3=0x59,           Config4=0x5A,    /*absentonRTL-8139A*/           HltClk=0x5B,           MultiIntr=0x5C,         TxSummary=0x60,           BasicModeCtrl=0x62,           BasicModeSta

5、tus=0x64,           NWayAdvert=0x66,           NWayLPAR=0x68,           NWayExpansion=0x6A,           /*Undocumentedregisters,butrequiredforproperoperation.*/           FIFOTMS=0x70,    /*FIFOControlandtest.*/           CSCR=0x74,       /*ChipStatusandConfigurationRegister.*/          

6、 PARA78=0x78,           PARA7c=0x7c,     /*Magictransceiverparameterregister.*/           Config5=0xD8,    /*absentonRTL-8139A*/       };   每个寄存器都有它特殊的含义和用途。举个例子(我们假设使用I/O内存的方式,ioaddr为设备内存映射在CPU内存地址空间的起始地址,下述代码能读取板卡的版本号):       #defineHW_REVID(b30,b29,b28,b27,b26,b23,b22)           (b

7、30<<30

8、b29<<29

9、b28<<28

10、b27<<27

11、b26<<26

12、b23<<23

13、b22<<22)       #defineHW_REVID_MASK  HW_REVID(1,1,1,1,1,1,1)       /*identifychipattachedtoboard*/       version=ioread32(ioaddr+TxConfig)&HW_REVID_MASK;   在我的电脑上,version读出来的值的0x74400000,经过比对,板卡名称为:RTL-8100B/8139D。   下面是整个系例版本号的表格:   enu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。