關 閉

        新聞中心

        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



        關鍵詞: Windows 9000A CE6

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 克什克腾旗| 三明市| 南召县| 开远市| 凉山| 岚皋县| 郓城县| 外汇| 沧州市| 武隆县| 汉中市| 黔西| 普兰店市| 石狮市| 昭平县| 仪陇县| 曲靖市| 郁南县| 云安县| 瑞昌市| 吴江市| 漾濞| 加查县| 遂川县| 高平市| 壶关县| 榕江县| 张家港市| 沁水县| 桃江县| 内丘县| 蓬莱市| 博湖县| 海伦市| 镇康县| 疏附县| 安泽县| 茌平县| 冕宁县| 周至县| 革吉县|