久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM7平臺下基于VxWorks的網絡接口設計

ARM7平臺下基于VxWorks的網絡接口設計

作者: 時間:2012-11-10 來源:網絡 收藏


2.2 END設備驅動程序裝載過程

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

  當網絡設備產生中斷時,調用驅動程序先前注冊的中斷服務程序。中斷服務程序應做盡可能少的工作,以完成將數據包從本地網絡設備送出/取出的操作。

2.3 文件配置

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

(1) 修改ne2000End.C

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

(2) 修改ne2000End.h

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

#define ENE_RSTART(0x011)

(3) 修改config.h

添加網絡宏定義:

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

(4) 修改configNet.h

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

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

(6) 修改sysLib.c

  ①添加MAC地址定義:

unsigned char ne2000EnetAddr[]=ETHERNET_MAC_ADRS;

 ?、谔砑?sysInByte、sysOutByte、syslnWordString和sysOutWordString函數。

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

 ?、茉趕ysHwInit()中添加RTL8019芯片的復位和初始化函數。相關代碼如下(有關寄存器的宏定義請參照RTL8019數據手冊):

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




評論


相關推薦

技術專區

關閉