新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM7平臺下基于VxWorks的網(wǎng)絡接口設計

        ARM7平臺下基于VxWorks的網(wǎng)絡接口設計

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


        2.2 END設備驅(qū)動程序裝載過程

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

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

        2.3 文件配置

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

        (1) 修改ne2000End.C

          ①修改頭文件包含目錄;
          ②sysIntCONnect修改為intConnect;
          ③sysLanIntenable修改為intEnable,并修改返回類型void為STATUS。

        (2) 修改ne2000End.h

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

        #define ENE_RSTART(0x011)

        (3) 修改config.h

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

        ①#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( ))入口點及相關參數(shù)。

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

        (6) 修改sysLib.c

          ①添加MAC地址定義:

        unsigned char ne2000EnetAddr[]=ETHERNET_MAC_ADRS;

          ②添加 sysInByte、sysOutByte、syslnWordString和sysOutWordString函數(shù)。

          ③在sysHwInit()中添加CPU端口初始化:

          ④在sysHwInit()中添加RTL8019芯片的復位和初始化函數(shù)。相關代碼如下(有關寄存器的宏定義請參照RTL8019數(shù)據(jù)手冊):

        tcp/ip相關文章:tcp/ip是什么




        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 南汇区| 论坛| 游戏| 锡林浩特市| 廊坊市| 小金县| 连江县| 平陆县| 余庆县| 乐都县| 博客| 澳门| 伊宁市| 漠河县| 修水县| 海安县| 普兰店市| 宁安市| 清水县| 凤庆县| 全南县| 郯城县| 长治市| 台中市| 平昌县| 上虞市| 留坝县| 呼玛县| 定安县| 沛县| 洛隆县| 伊金霍洛旗| 邢台县| 永泰县| 平远县| 澄迈县| 酉阳| 绥棱县| 肇东市| 武义县| 磐石市|