MyException - 我的异常网
当前位置:我的异常网» WinCE » WINCE下网卡驱动的开发有关问题,进者有分,结贴做

WINCE下网卡驱动的开发有关问题,进者有分,结贴做总结,欢迎畅所欲言

www.myexceptions.net  网友分享于:2013-02-11  浏览:33次
WINCE下网卡驱动的开发问题,进者有分,结贴做总结,欢迎畅所欲言【推荐】
最近在做网卡驱动,但是无论是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分!

------解决方案--------------------
顶贴
------解决方案--------------------
关注!
------解决方案--------------------
学习了
------解决方案--------------------
好,明天我来搞,6410的网卡,奶奶的,今天一点激情都没有!
我 正好就是网卡没有做过了!
------解决方案--------------------
学习
------解决方案--------------------
顶下
------解决方案--------------------
学习啊, 好东西。值得认真拜读。
------解决方案--------------------
自己写个『推荐』是没用的,我帮你推荐一下吧,贴子不错。
------解决方案--------------------
你这问题回答起来还比较麻烦,首先,对自己驱动的调试你可以用第三方工具最简单,安装收发数据成功,即成功。如果再退一步,你就要自己编写上层服务函数了,其实结果是一样的。第三方工具大多也是如此,当然,象一些微软提供的工具,可能有些区别。其次,你说的中断号儿什么的,和具体的硬件的应用有关系。比如一个中断可以做这个用,也可以做那个用,看厂家怎么安排了。这个基本都不是死的,当然可能为了统一,大家对某一方面的中断都规定使用哪些。再次,自定义IOCTL自定义还是调用几个API接口参数呢?如果是API又是哪些API呢?如果数据流很大,比如视频流,那么个人应该认为采用DMA方式来完成数据的收发,可是又该怎么实现呢? 这两种都可以,微软都提供有例程,到于你说视频流,与你底层的通信没有关系。那是上层需要处理的。API就是READFILE之类的呗。至于自己的网卡要不要从头开发,我觉得现在在中国实际应用的可能性比较小,个人经验,反正本人经历的公司大多都是从已有的基础上改,包括从网上,从硬件厂商,开源代码,等等。
------解决方案--------------------
NDIS是微软为了统一开发而弄出来的一个东西,也就是小驱动。说白了就是封包常用的东西,然后分层,你只要把你的数据处理和调用,按规定接到上面即可。这么说吧,原来是你的上层直接调用你的下层,现在呢,你的上层要调用你的下层时,必须通过NDIS,你的下层向上层通信,也必须传给NDIS,就这么个意思,可能有的表达不准确,希望不要误导别人。
------解决方案--------------------
jf
------解决方案--------------------
顶起!哈哈!俺不懂!
------解决方案--------------------
探讨
NDIS是微软为了统一开发而弄出来的一个东西,也就是小驱动。说白了就是封包常用的东西,然后分层,你只要把你的数据处理和调用,按规定接到上面即可。这么说吧,原来是你的上层直接调用你的下层,现在呢,你的上层要调用你的下层时,必须通过NDIS,你的下层向上层通信,也必须传给NDIS,就这么个意思,可能有的表达不准确,希望不要误导别人。

------解决方案--------------------
学习 关注--
------解决方案--------------------

文章评论

10个调试和排错的小建议
10个调试和排错的小建议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员的鄙视链
程序员的鄙视链
那些争议最大的编程观点
那些争议最大的编程观点
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
漫画:程序员的工作
漫画:程序员的工作
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Java程序员必看电影
Java程序员必看电影
一个程序员的时间管理
一个程序员的时间管理
为什么程序员都是夜猫子
为什么程序员都是夜猫子
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员应该关注的一些事儿
程序员应该关注的一些事儿
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
如何成为一名黑客
如何成为一名黑客
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
每天工作4小时的程序员
每天工作4小时的程序员
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
中美印日四国程序员比较
中美印日四国程序员比较
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员都该阅读的书
程序员都该阅读的书
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
老程序员的下场
老程序员的下场
代码女神横空出世
代码女神横空出世
 程序员的样子
程序员的样子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
我是如何打败拖延症的
我是如何打败拖延症的
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
鲜为人知的编程真相
鲜为人知的编程真相
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有