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

xilidecai 2009-12-21 04:38:42
加精
最近在做网卡驱动,但是无论是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分!
...全文
2402 127 打赏 收藏 转发到动态 举报
写回复
用AI写文章
127 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangwu1214 2012-05-22
  • 打赏
  • 举报
回复
最近也在学这个,关注下
wangzhenbaizhi 2011-03-21
  • 打赏
  • 举报
回复
本人最近也在弄WINCE 5.0下的网上驱动,是S3C2440的,有意着请加我QQ哦,一起学习
ywm7731083 2010-09-16
  • 打赏
  • 举报
回复
学习中!!!!!!
swicloud 2010-09-15
  • 打赏
  • 举报
回复
关注没研究过
xiao_rq 2010-08-09
  • 打赏
  • 举报
回复
标注一下,非常有用!
浪尖飞鲨 2010-07-22
  • 打赏
  • 举报
回复
供应嵌入式linux/Wince 3G EVDO/WCDMA无线上网卡 (模块)
  供应嵌入式linux/Wince 3G EVDO/WCDMA无线上网卡 ,可提供相关系统的驱动程序,可二次开发3C数码终端(导航仪/MID)、3G路由器,3G视频服务器,3G工业数据采集系统

我们的数据卡和模块产品全面支持嵌入式操作系统下的驱动
–Linux 2.6
–WinCE 5.0/WinCE 6.0
–Android 1.5/1.6/2.1

已经在以下硬件平台验证测试
–Freescale i.MX21/i.MX31/i.MX27/i.MX51(Cortex A8)
–TI OMAP 3530 (Cortex A8)/3430/3630/DM355
–Marvell PXA310/PXA168/PXA166
–SiRF Prima A4 (ARM1136)
–Intel Atom
–RMI Au1200/Au1250/Au1300
–Telechip TC89XX
- Rockchips 2718

–Anyka
–Jade
–VIA
- Nvidia

–海思 K3
–瑞芯微
–中星微
–OmniVision
接下来将支持更多平台

产品特性:

1:网络支持:

支持中国电信 3G EVDO 网络下行最高 3.1 Mbps, 上行1.8 Mbps。
支持中国联通 WCDMA 网络下行最高 7.2 Mbps,上行5.74Mbps。

2:采用通用usb无线上网卡、标准PCIE接口模块,保护用户投资,只要您的嵌入式产品具有linux、wince操作系统和usb host接口立即可以 3G Ready。

3:支持通用的AT命令集,可在现有设备的基础上轻松升级到3G数码装备、3G无线视频监控、3G无线数据采集。


公司产品资质:(QQ45459768,13826579041)
1:国内通用3C证书、ISO9001质量认证、信息产业部入网许可证、中国电信终端入库产品证明。
2:深圳市高新企业、中国通信标准制定委员会全权会员
四极管 2010-04-10
  • 打赏
  • 举报
回复
值得一看
lipengbo10054444 2010-03-26
  • 打赏
  • 举报
回复
顶顶顶顶
chen89506624 2010-03-24
  • 打赏
  • 举报
回复
先学习一下
shenmou 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 51 楼 xilidecai 的回复:]
谢谢各位的关注!
刚才在万方上找了一篇文章,感觉有用,在这里贴出来和大家共享!不过图就没有了,我不会贴,嘿嘿,原谅下,回头有需要的,我可以发给你们。
3.2网络驱动接口的具体实现
实际网络驱动的编写,就是理解wincE下网络驱动程序的构架,然后针对实际的硬件编写代码,实现相应的中间层Miniport Driver接口函数。下面结合利用WinCE5.0内核在脉冲发生器嵌入式主板上移植编写嵌入式……
[/Quote]
讲的不错
lan120576664 2009-12-28
  • 打赏
  • 举报
回复
楼主搞定了cs8900么??
介绍一下方法嘛
cacoless 2009-12-23
  • 打赏
  • 举报
回复
不知道呀,顶了!
xilidecai 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 104 楼 reallyu 的回复:]
中断号和端口地址是和你的硬件连接有关,你看原理图就能看出来了.
一般中断号是看网卡的中断信号连在cpu的那个中断pin上
端口地址要看地址线和片选信号是怎么连的
[/Quote]
恩,这个我正在在看实现的函数,只是我想知道如果实现收发数据包该如何实现呢?
xilidecai 2009-12-23
  • 打赏
  • 举报
回复
呵呵,谢谢大家的关注,分不是问题,不够我在另外开贴送分就好了!关键是问题的解决!
这两天一直在查找资料,发现WINCE下网卡驱动开发的资料真的很少,很大一部分朋友在做这块的时候都是直接拿来使用或者进行适当的移植。当然做驱动开发这块关键就是在于移植,我现在有两个方向要走:
1.参考W参考windows 下的网卡驱动开发,利用DDK+driver studio+VC进行开发,确切的说也是移植或者直接来用,弄清楚在windows下的流程。据说wince是windows的一个子集,问了一些人都说只是部分函数名称变了而已,有一些在CE下没有提供了,还有一些仍然可以使用的。
2.读现有的CS8900和DM9000网卡驱动,种点在于把握数据包的收发,寄存器的配置,以及中断的使用。
另外,最近还有一个思路,当然还是在windows下的PCAP,如果只是实现读取数据包,那么PCAP也是一个不错的选择!而且这个已经成功运用的WINCE3.0的版本,只是后面的版本,包括现在大家使用的WINCE6.0是否能使用就不得而知,有必要验证一下!这对我又是一个挑战!
呵呵,好了说了那么多废话,没有一句实际的!这个问题先到这里,周末结贴!现在继续探索...
cdcjk 2009-12-23
  • 打赏
  • 举报
回复
学习
liu071401220 2009-12-23
  • 打赏
  • 举报
回复
关注
jiutianzhuri 2009-12-23
  • 打赏
  • 举报
回复
望楼主不吝给分
xuefeng_baggio 2009-12-23
  • 打赏
  • 举报
回复
前阵子搞了点 等有时间再来看楼主的贴!肯定有用!帮顶下!
lllchr88 2009-12-23
  • 打赏
  • 举报
回复
还没弄过.mark
o46382509 2009-12-23
  • 打赏
  • 举报
回复
顶一个。。
加载更多回复(99)
嵌入式系统开发圣经 大小为42M的书,给你提供详细的嵌入式开发知识,是学习的好资料 本书特色:详细的理论讲解,让你全面了解当前嵌入式开发系统的发展趋势。以信息家电、智能型手机、PDA产品为出发点,广泛深入地分析相关的嵌入式系统技术。适用于产品主管、系统设计分析人员及欲进入该领域的工程师。是一本开发嵌入式系统产品必备的入门圣经,进入嵌入式系统领域的宝典。 目录: 第1章 嵌入式系统的介绍 1-1 嵌入式系统概述 1-1-1 嵌入式系统的组成 1-1-2 典型的嵌入式系统 1-1-3 嵌入式系统的发展趋势 1-2 信息家电 1-2-1 信息家电的兴起 1-2-2 信息家电的产品 1-2-3 信息家电的研发状况 1-2-4 信息家电的未来 1-3 入门必学 1-3-1 系统集成能力 1-3-2 程序语言编写能力 1-3-3 市场应用导向 1-4 未来展望 1-4-1 集成服务导向 1-4-2 轻薄小型人性化 1-4-3 软硬件网络无线集成 1-4-4 创意产生与实现 1-5 本书导读 第2章 嵌入式SoC硬件系统概论 2-1 嵌入式系统微处理器的发展 2-1-1 4位以及8位嵌入式系统微处理器 2-1-2 16位以上的嵌入式系统微处理器 2-1-3 协同微处理器(Co-processor) 2-1-4 CISC与RISC 2-1-5 数字信号处理器(Digital Signal Process-DSP) 2-1-6 超长指令集微处理器(VLIW) 2-2 SoC嵌入式系统微处理器 2-2-1 什么是SoC嵌入式系统微处理器 2-2-2 SoC微处理器的设计开发 2-2-3 RISC结合DSP的SoC嵌入式系统微处理器 2-2-4 快速的SoC嵌入式系统微处理器设计与制造 2-3 ARM公司ARM RISC架构微处理器 2-3-1 ARM RISC嵌入式系统微处理器简介 2-3-2 ARM 7 Thumb嵌入式系统微处理器系列 2-3-3 Thumb指令集 2-3-4 ARM 9 Thumb嵌入式系统微处理器系列 2-3-5 ARM 10 Thumb嵌入式系统微处理器系列 2-3-6 ARM RISC嵌入式系统微处理器的应用 2-3-7 相关数据查询 2-4 Intel公司StrongARM微处理器 2-4-1 StrongARM架构 2-4-2 SA 1110/SA 1111模拟实验版 2-4-3 StrongARM嵌入式系统微处理器的应用 2-4-4 参考数据 2-5 德州仪器公司TMS320 DSP微处理器 2-5-1 TMS320 DSP微处理器简介 2-5-2 德州仪器公司C5X DSP微处理器系列 2-5-3 德州仪器公司C6X DSP微处理器系列 2-5-4 德州仪器公司TMS320DM310 DSP微处理器 2-5-5 DSP微处理器的应用 2-5-6 参考数据 2-6 Philips公司Trimedia微处理器 2-6-1 简介 2-6-2 Trimedia微处理器架构 2-6-3 软件开发工具 2-6-4 TM-1300模拟实验版 2-6-5 TM-1300嵌入式系统微处理器应用 2-6-6 参考数据 2-7 德州仪器公司OMAP架构微处理器 2-7-1 OMAP简介 2-7-2 OMAP架构 2-7-3 OMAP程序开发 2-7-4 OMAP微处理器在多媒体上的应用 2-8 Intel公司XScale架构微处理器 2-8-1 XScale微处理器简介 2-8-2 XScale微处理器硬件架构 2-8-3 XScale微处理器应用产品开发(PCA) 2-8-4 XScale微处理器-PXA210/250 2-8-5 参考数据 2-9 其他常见高端的嵌入式系统微处理器 2-9-1 MIPS RISC嵌入式系统微处理器 2-9-2 Hitachi SH系列嵌入式系统微处理器 2-9-3 Motorola嵌入式系统微处理器 2-9-4 Intel嵌入式系统微处理器 2-9-5 STMicroelectronics嵌入式系统微处理器 2-9-6 AMD嵌入式系统微处理器 2-9-7 三菱嵌入式系统微处理器 2-9-8 富士通嵌入式系统微处理器 2-10 存储器 2-10-1 可编程只读存储器 2-10-2 随机存储器(Random Access Memory) 2-11 通信接口 2-11-1 IEEE 1394 2-11-2 USB 2-11-3 红外线 2-11-4 蓝牙模块(Bluetooth) 2-11-5 IEEE 802.11 2-12 输出与输入装置 2-12-1 触摸屏 2-12-2 LCD显示器 2-13 扩展装置 2-13-1 PCMCIA扩展装置 2-13-2 CF扩展装置 2-13-3 SD扩展装置 2-13-4 Memory Stick 2-13-5 Springboard 2-14 便携式嵌入式系统电源系统 2-14-1 便携式嵌入式系统电源的要求 2-14-2 智能型电池系统 2-15 小结 第3章 嵌入式系统软件开发 3-1 嵌入式系统基本概述 3-1-1 系统规划与设计 3-1-2 开发平台与目标平台 3-1-3 开发环境与开发流程 3-2 开始您的第一步 3-2-1 目标平台 3-2-2 下载程序 3-2-3 开发考虑 3-3 嵌入式操作系统 3-3-1 操作系统的基本运作 3-3-2 开机 3-3-3 执行应用程序 3-3-4 系统移植 3-3-5 选择一个嵌入式操作系统 3-4 嵌入式软件的开发流程 3-4-1 系统开发 3-4-2 编译 3-4-3 链接 3-4-4 重新定位 3-4-5 下载 3-5 沟通软件与硬件的桥梁 3-5-1 由说明书认识硬件组件 3-5-2 驱动程序的编写 3-5-3 中断与异常处理 3-6 调试技术 3-6-1 仿真软件 3-6-2 目标平台上的调试 3-6-3 硬件辅助调试 3-7 您必须了解的事情 3-7-1 常见的错误处理 3-7-2 程序技巧 3-8 总览 第4章 信息家电软件的大趋势 4-1 多采多姿的Java世界 4-1-1 Java的概念 4-1-2 Java世界 4-1-3 企业版J2EE 4-1-4 标准版J2SE 4-1-5 袖珍版J2ME 4-1-6 Java Card 4-1-7 小结 4-2 移动装置的Java Virtual Machine-KVM(K Virtual Machine) 4-2-1 KVM的由来 4-2-2 KVM移植技术 4-2-3 KVM验证 4-2-4 小结 4-3 移动设备上的开发套件-MIDP 4-3-1 Java与无线通信 4-3-2 MIDP的由来 4-3-3 MIDP开发环境 4-3-4 MIDP开发实例 4-3-5 MIDP的移植 4-3-6 小结 4-4 Symbian Java Phone 4-4-1 Java Phone架构 4-4-2 JTAPI 4-4-3 应用实例 4-4-4 小结 4-5 Jini 4-5-1 Jini的架构 4-5-2 Jini的移植 4-5-3 小结 4-6 电信服务i-Mode与i-appli 4-6-1 i-Mode通信系统 4-6-2 Compact HTML 4-6-3 Java Enabled i-mode:i-appli 4-7 Java Chip让Java飞起来 4-7-1 Java Chip的诞生 4-7-2 各家的JavaChip 4-7-3 小结 4-8 总结 第5章 Smart Handheld Device软件系统设计 5-1 前言 5-2 嵌入式操作系统基本概念 5-2-1 嵌入式操作系统 5-2-2 软件组件 5-3 PDA产品面面观 5-3-1 Palm-PDA的创作先驱 5-3-2 WinCE Pocket PC多媒体的佼佼者 5-3-3 我国嵌入式操作系统发展概况 5-3-4 PDA发展趋势 5-4 针对产品定义选择系统软件 5-4-1 基本技术比较 5-4-2 产品应用 5-5 Symbian Platform:典型的智能型手机系统设计 5-5-1 功能结构介绍 5-5-2 GTv6基本组件 5-5-3 Framework 5-5-4 通信与网络 5-5-5 应用层 5-5-6 Java Phone 5-5-7 新一代智能型手机 5-5-8 持续创新的Symbian OS v7.0 5-5-9 系统开发环境 5-6 嵌入式Linux相关技术 5-6-1 嵌入式Linux概述 5-6-2 工作评估 5-6-3 Linux目录结构 5-6-4 工具链(Toolchain) 5-6-5 内核配置 5-6-6 编译内核 5-6-7 雏型板测试 5-6-8 选择嵌入式Linux图形接口 5-6-9 自己动手Linux Based iPAQ 5-7 结束语

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧