<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM7平臺(tái)下基于VxWorks的網(wǎng)絡(luò)接口設(shè)計(jì)

          ARM7平臺(tái)下基于VxWorks的網(wǎng)絡(luò)接口設(shè)計(jì)

          作者: 時(shí)間:2012-11-10 來源:網(wǎng)絡(luò) 收藏


          2.2 END設(shè)備驅(qū)動(dòng)程序裝載過程

            在中,END設(shè)備驅(qū)動(dòng)程序裝載過程可以分為3個(gè)步驟,即指定END設(shè)備,裝載END設(shè)備和啟動(dòng)END設(shè)備。END設(shè)備的指定是通過數(shù)組endDevTbl[ ]來完成的,該數(shù)組描述了系統(tǒng)中的所有網(wǎng)絡(luò)設(shè)備的裝載人口點(diǎn)及其相關(guān)參數(shù)。系統(tǒng)調(diào)用MUX設(shè)備裝載函數(shù)mux-DevLoad()來裝載END設(shè)備,調(diào)用MUX設(shè)備啟動(dòng)函數(shù)muxDevStart()來啟動(dòng)END設(shè)備。網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的裝載過程如圖4所示。系統(tǒng)通過usrRoot()函數(shù)來調(diào)用usrNetInit()函數(shù)完成MUX的初始化,裝載網(wǎng)絡(luò)設(shè)備表endDevTbl[ ]中描述的所有設(shè)備,并將IP協(xié)議綁定到網(wǎng)絡(luò)引導(dǎo)設(shè)備上等。

            當(dāng)網(wǎng)絡(luò)設(shè)備產(chǎn)生中斷時(shí),調(diào)用驅(qū)動(dòng)程序先前注冊(cè)的中斷服務(wù)程序。中斷服務(wù)程序應(yīng)做盡可能少的工作,以完成將數(shù)據(jù)包從本地網(wǎng)絡(luò)設(shè)備送出/取出的操作。

          2.3 文件配置

            由于RTL8019兼容NE2000網(wǎng)卡芯片,只需要在其基礎(chǔ)上完成必要的修改。首先將Tornado2.2\target\src\drv\end目錄下的ne2000End.c和Tornado2.2\target\h\dry\end目錄下的ne2000End.h拷貝到bsp目錄下,然后修改以下文件。

          (1) 修改ne2000End.C

           ?、傩薷念^文件包含目錄;
           ?、趕ysIntCONnect修改為intConnect;
           ?、踫ysLanIntenable修改為intEnable,并修改返回類型void為STATUS。

          (2) 修改ne2000End.h

          將寄存器地址左移1位,如:

          #define ENE_RSTART(0x011)

          (3) 修改config.h

          添加網(wǎng)絡(luò)宏定義:

          ①#define INCLUDE_NETWORK
          ②#define INCLUDE_END
          ③#ifdef INCLUDE_END
          #undef INCLUDE_SNGKS32C_END
          #define INCLUDE_NE2000_END
          #endif/*INCLUDE_END*/

          (4) 修改configNet.h

            在endDevTbl[ ]表中添加新的裝載函數(shù)(其函數(shù)命名格式為xxLoad( ))入口點(diǎn)及相關(guān)參數(shù)。

          (5) 修改Makefile
          添加MACH_EXTRA=ne2000End.o

          (6) 修改sysLib.c

           ?、偬砑覯AC地址定義:

          unsigned char ne2000EnetAddr[]=ETHERNET_MAC_ADRS;

           ?、谔砑?sysInByte、sysOutByte、syslnWordString和sysOutWordString函數(shù)。

           ?、墼趕ysHwInit()中添加CPU端口初始化:

           ?、茉趕ysHwInit()中添加RTL8019芯片的復(fù)位和初始化函數(shù)。相關(guān)代碼如下(有關(guān)寄存器的宏定義請(qǐng)參照RTL8019數(shù)據(jù)手冊(cè)):

          tcp/ip相關(guān)文章:tcp/ip是什么




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();