关 闭

新闻中心

EEPW首页>工控自动化>设计应用> Windows CE6.0的DM9000A流接口驱动开发

Windows CE6.0的DM9000A流接口驱动开发

作者: 时间:2012-05-23 来源:网络 收藏

3 DM流驱动程序的实现

DM支持IEEE802.3x全双工模式流控制,提供IP/TCP/UDP校验、产生及检测功能;内部集成10/100M自适应PHY,同时具有13 KB的接收缓冲区和3 KB的发送缓冲区,支持8位和16位数据接口。

d.JPG

S3C6410与DM的接口电路如图3所示。在流驱动程序中是将DM9000A内部寄存器地址空间映射到S3C6410内部划分的SROM的BANK1空间上,物理基地址是0x18000000。在CE 6.0系统下对硬件寄存器的访问首先需要进行地址映射,将寄存器物理地址映射为系统可访问的虚拟地址。最为简单的方法就是从系统目录(C:\wince600\platform\studk6410\src\inc)下找到基于OEM层的地址配置表(oemaddrt ab_cfg.inc),从文件中找到所使用的SROM的BANK1的虚拟地址,在驱动程序中直接访问该地址(如同访问芯片的寄存器地址)。

流接口驱动的实现将集中体现在对初始化接口函数和I/O控制接口函数的操作,函数主要代码如下:

其中,0x94000000正是从地址配置表文件中获取的虚拟地址,dwEthernetIOBase经映射后则如同DM9000A内部寄存器的首地址。由于硬件线路上是使用S3C6410的地址线中的位2作为DM9000A的数据/地址访问信号(高电平为访问数据),故以“dwEthernetIOBase+4”作为访问数据的基地址。

e.JPG

其中,参数Handle为流接口设备的句柄;dwIoControICode为I/O控制码,可以根据需要自由定义;pInBuf为传入数据指针;nInBufSize为数据长度。除了初始化函数和I/O控制函数外的其他流驱动接口函数无需任何处理,直接给出返回值即可。

f.JPG



关键词:Windows9000ACE6

评论


相关推荐

技术专区

关闭