WINCE下的網絡卡驅動開發序

2022-05-09 07:00:10 字數 1031 閱讀 8218

好久沒有寫原創的文章了,不怕丟人的說,前段時間在忙著考六級,不過這次又走了一次過場!

哎,不說這個了!

今天在csdn上發表了一篇帖子,開貼討論wince下網絡卡驅動的開發,之前,在網上搜尋這方面的資料真的很少,我不知道啥情況,肯定有人做過這方面,只是沒有貼出來,抑或大家認為太簡單沒有去做。當然,對於做產品,速度是很重要的乙個指標,因而,我們已經習慣了移植,儘管如此,前段時間在進行網絡卡驅動移植的時候我依然沒有成功。更何況這次的網絡卡驅動的開發呢?

不管了,死馬當做活馬醫!我的文章就要從這裡出來,無論如何我要去做好!

接著,下面是我查詢的一點有限的資料,放在下面當做參考。

dm9000驅動**流程分析

從dm9000.def檔案中可以看到dm9000的驅動程式(dm9000.dll)exports的函式只有driverentry。從名字上也可以看出這是該dll檔案入口。

不用問,接下來就是miniportinitialize了。在其中有nic_driver_object類的初始化,以及該類的edriverinitialize函式呼叫,在此函式中全面展開了dm9000的所有初始化操作。主要是通過deviceentry()這個函式來實現(這個函式實現在dm9000.cpp檔案中),在deviceentry這個函式中只做了一件事:new了乙個c_dm9000類的例項並return。接下來就該c_dm9000的例項表演了(表演場地為上文提到的edriverinitialize函式中):devicesetdefaultsettings();deviceseteepromformat();deviceretriveconfigurations(hconfig);edevicevalidateconfigurations()等等,一套非常漂亮的動作耍完之後又輪到nic_driver_object了,它只是個主持人,宣布下乙個節目是driverstart()(舞台在miniportinitialize中),實際上表演人還是c_dm9000。其實c_dm9000的表演也很簡單但是比較重要,它在此deviceenableinterrupt()啟動了中斷,接下來就是無休止的等待,接收,傳送了。從此踏上了不歸路.....

參考:

WINCE下的USB驅動開發

首先usb載入式流介面驅動要點分析 為了支援不同型別的外圍裝置,wince平台提供了具有定製介面的流介面驅動程式模型。因為大部分usb外圍裝置由於功能性更適合流介面驅動的結構,所以一般都採用載入式流介面驅動程式模型來開發usb裝置驅動程式。1 usb系統結構分析 wince下usb系統軟體由兩層組成...

WINCE下的USB驅動開發

首先usb載入式流介面驅動要點分析 為了支援不同型別的外圍裝置,wince平台提供了具有定製介面的流介面驅動程式模型。因為大部分usb外圍裝置由於功能性更適合流介面驅動的結構,所以一般都採用載入式流介面驅動程式模型來開發usb裝置驅動程式。1 usb系統結構分析 wince下usb系統軟體由兩層組成...

wince下SD卡驅動開發

如圖所示 最下面的是你的h w部分,其中sd host controller是你的sd硬體控制器部分,你寫驅動需要這部分的spec。接著上面的sd host controller driver就是你需要實現的部分了,直接和你的控制器打交道。而bus層則是位於host和client之間的一層,主要用來...