- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网卡驱动相关内容
网卡驱动相关内容
最近在做网卡驱动,但是无论是google还是baidu发现这方面的资料不多,尤其是wince下网卡驱动的开发,就更少了!以前由于BSP包里面都带,要么CS8900,要么DM9000,当然也有其他的网卡。其中在模拟器里面提供了CS8900网卡的源码,现在抛出问题,希望能和大家一起探讨!
问题:
1.CS8900芯片内置的PacketPage存储单元支持两种地址访问模式:一种是内存访问模式,一种是I/O端口访问模式。CS8900芯片复位后的默认工作模式是I/O模式,I/O端口地址默认为300H。
那么内存访问模式又是什么?什么情况下使用?
2.无论是DM9000或者CS8900还是其他的网卡驱动,现在从厂商大部分都能获得源码,大部分只需要知道中断号和入口地址,然后进行相应配置和修改就可以了。
那么中断号和入口地址从什么地方看出来呢?是不是下面给出的这样呢?如果是,DM9000是什么样的呢?如果不是,又是什么样呢?
在模拟器下CS8900在初始化的过程中给出了4个步骤:
(1)配置允许CS8900以太网控制器芯片接收以太网数据类型:
WritePacketPage(RX_CTL,RX_CTL_RX_OK|RX_CTL_INDIVIDUAL|RX_CTL_BROADCAST);
(2)配置CS8900以太网控制器芯片以中断的方式接收数据帧
WritePacketPage(RX_CFG,RX_CFGRX_OK_IE);
(3)配置CS8900以太网控制器芯片选择使用第0号中断引脚
WritePacketPage(INTERRUPT_NUMBER,0);
(4)配置CS8900以太网控制器芯片使之允许收发数据帧:
WritePacketPage(LINE_CTL,LINE_CTL_RX_ON|LINE_CTL_TX_ON);
3.如果要验证一个驱动移植是否成功,如何去做呢?是通过Ping通与否嘛?还是收发数据包成功呢?如果,发送数据包,是什么样的数据包?需要自己定义还是简单的数据进行打包?
4.如果要开发自定义的网卡驱动应该如何开发呢?微软又提供了哪些层的代码?我们又需要做哪些工作呢?
因为在PUBLIC\COMMON\OAK\DERIVERS\NETCARD目录下面只提供了ar6k,e100bex,ne2000,ne2000isr,netmui,smsc100fd,如果是自己的网卡,需要完全自己开发吗?
5.在一些源代码流程分析中,包括从网上一些老牛的博客中也可以看出,NDIS.dll提供了网络驱动的接口参数,“简单”的说,只需要调用就好了,可是怎么调用呢?前段时间看了下PUBLIC\COMMON\OAKK目录下的NDISUIO的的示例代码可是编译总是出问题,我是直接编译的,是不是应该添加什么函数库呢?
6.假如网卡驱动成功了,我要实现数据包的收发,应该怎么做呢?是自定义IOCTL自定义还是调用几个API接口参数呢?如果是API又是哪些API呢?如果数据流很大,比如视频流,那么个人应该认为采用DMA方式来完成数据的收发,可是又该怎么实现呢?
以上问题,最近需要解决,我有什么进度也会及时跟进!
希望大家多多交流!有点思路就说,或者这个方向也好!
如果解决了,我会进行网卡驱动的总结,再追加100分!
WinCE的网络通信架构中一个重要的角色是网络结构规范(NetworkDriver Interface Specification,NDIS),它支持多种网络媒体,以及提供包括TCP/IP等多种网络协议。
其中最上层的Wins0ck是提供给应用层的接口,一般开发网络应用都会用Winsock接口来开发。NDIS位于协议驱动层下面,而位于硬件驱动Miniport Driver之上。协议驱动层通过调用NDIS封装层的接口函数,实现与底层硬件驱动的交互。对于协议层来说,NDIS相当于一个Miniport Driver,而对于底层的硬件驱动来说,NDIS相当于上层的协议层,所以NDIS起到承上启下的作用,也起到对底层硬件接口的规范作用。
在WinCE中,在上层的协议驱动层看来,它调用NDIS接口函数访问网络设备,其具体实现过程是通过调用底层的Miniport Driver接口函数来实现。在WinCE系统中NDIS接口函数库是Microsoft开发好的,所以开发winCE下的网卡驱动就是编写一个Miniport Driver,它向上导出接口函数与NDIS接口实现对接,向下直接管理网卡硬件。
在WinCE中,应用层通过调用NDIS接口实现与底层硬件的交互,而NDIS接口是微软已经开发好的,被定义成一个数据结构体的形式。开发网卡驱动就是写一个Miniport Driver,导出相应的Miniport接口函数,这些接口函数会在系统注册一个M
您可能关注的文档
最近下载
- 深度解析(2026)《YBT 4348-2013刚玉砖》.pptx VIP
- 普通公路沥青路面典型路段使用效果评价技术规程.pdf VIP
- 四川省成都市成华区2024-2025学年九年级上学期期末监测物理试卷.docx VIP
- (高清版)DB11∕T 1987-2022 用水单位节水量计算导则.pdf VIP
- 山东省地标-《电气火灾监控系统设计、施工及验收规范》重点[实用].pdf VIP
- 中国的传统注音法——反切.ppt VIP
- 19BJ8-2 住宅排气道系统-全国各省建筑标准.pdf VIP
- 员工发展规划.doc VIP
- 《普通高中化学课程标准》解读(2025版2025年修订).pptx VIP
- 安阳市无人机培训项目可行性研究报告【参考范文】.docx
原创力文档


文档评论(0)