阅读:1142回复:2
请教请教:)高手帮帮忙嘛。
下面是关于我所知道的硬件具体信息和我要开发的要求。
要求:导师接这个项目的时候,项目要求开发的硬件有一个实现TCP/IP 的驱成。至于怎么证明这块板子支持TCP/IP呢,我导师的想法是就是用 我们开发的板子两块,一台插一个。中间用光纤相联。然后我在这个硬件 上开发一个驱成,安装好以后。Windows 2000就认为这是一块网卡了。 然后嘛这两台机子就可以实现所有网卡的基本功能(譬如可以相互访问拉,等等)。 我导师其实不太懂的,在驱成方面更是不懂。他就是有这个想法,逼着我去实现。 ...... ...... 硬件:我的其他同学正在开发中,用的是FPGA。 这块板子是PCI插槽。接口由光纤联系。在硬件的介绍上,就是有人 用Verliog的语言开发一个FPGA。发送数据时我往一个register地址写数据, 然后硬件自动将数据写往一个FIFO(其中某个同学实现的),然后 后面的物理传输就是硬件自己实现了。接受时,硬件产生一个中断。我就去接受。 (好像就是这样) 这两天都在看一个叫做楚狂人的NDIS介绍,(在这个板块看到的) 还有Windows 2000驱动程序开发大全的关于NIC的部分。 我想确定几个问题 1.我做的应该是面向无连接的微端口驱成吧。 2.用的方式是Programmed IO方式,在2000下的NDIS5.0。 3.还有是不是我开发了这个驱成,上层软件就不关我的事了,就是说 Windows就把他当作是一块网卡,然后网上邻居就自动添加一个本地连接。就像一块真的网卡一样。然后两台机子就可以相互访问了。 4.还有就是NDIS对硬件有什么要求或规范吗? 下面是关于我所知道的硬件具体信息。 硬件是由其他人实现的(我的两个同学还在开发中),用的是FPGA。两块板子是PCI插槽。中间由光纤联系。 然后导师要求我的驱成要实现TCP/IP协议。就是两台机子,一台机子插一块板子。之间用光纤连接。让人感觉这就是一块网卡,然后还可以设置IP等信息。然后两台机子就可以通讯了。就像插了两张网卡的机子, 在硬件的介绍上,就是有人用Verliog的语言开发一个FPGA。我往一个register地址写数据,然后硬件自动将数据写往一个发送FIFO,其他的 就用硬件自动实现传输。当网络有数据过来的时候,硬件给我一个中断,我就去读接受FIFO的一个regiter地址就可以了。 |
|
|
沙发#
发布于:2004-12-01 22:31
看完了一些文档,想看看源代码进行分析。
我认为看再多得书也不如看源代码。 我在DDK的Sample看了一下关于Miniport的无连接介质的 感觉就只有两个,一个是NE2000: This sample is an NDIS 3 miniport for the Novell 2000 Ethernet Controller. 另一个是E100BEX: This sample is an NDIS 5 deserialized miniport driver for the Intel EtherExpressTM PRO/100+ Ethernet PCI adapter and the Intel EtherExpressTM PRO/100B PCI adapter. It illustrates NDIS 4 and NDIS 5 features such as multiple packet sends/receives, media sense, WMI, and Power Management. 。。。。。。 然后在DS中也找到几个:WdmVNIC NDIS Miniport Driver: This directory contains NDIS Miniport Driver project files for the WdmVNIC NDIS_WDM sample driver. Vdev NDIS Miniport Driver: This directory contains NDIS Miniport Driver project files that demonstrate how NDIS miniports expose a WDM device object named MyNdisDevice. This device object can be accessed by user mode programs via Win32 CreateFile(\\\\.\\MyNdisDevice, ... etc.) as a normal I/O device. NMNE2K NDIS Miniport Driver This directory contains NDIS Miniport Driver project files for a NE2000-comp atible card. This sample demonstrates the basic structure of a standard (ser ialized) NDIS miniport driver written using the DriverNetWorks C++ framework . It is a fully functional NDIS miniport driver tested on NT/SP5, Win2K and WinXP platforms. The driver is functionally similar to the NE2000 sample dri ver found in the Windows XP DDK and demonstrates usage of the following clas ses: E100bex NDIS Miniport Driver: This directory contains the NDIS Miniport Driver project files for the Intel EtherExpress PRO PCI Ethernet Adapter network card. This sample demonstrate s the basic structure of an NDIS 5 deserialized NDIS miniport driver written using the DriverNetworks C++ framework. This is a fully functional NDIS min iport driver tested on both the Windows 2000 and Windows XP systems. The dri ver is functionally similar to the E100Bex sample driver found in the Window s XP DDK. 其中最后两个好像就是DDK的例子转换。 因为现在已经要11点了。准备明天再来研究。 请教一下,又没有漏掉的或者不需要看的阿? 谢谢 会的人说一下 万分感谢:):) |
|
|
板凳#
发布于:2004-12-06 18:55
我个人认为,你只需实现FDDI光纤网卡驱动就行了,因为实现了NDIS就标志着切入了tcp/ip协议栈,应用层的程序绝对不需要你去关心的。记住你需要实现的驱动不是中间层的驱动,而是miniport层的驱动。
|
|
|