在VxWorks中,END设备驱动程序装载过程可以分为3个步骤,即指定END设备,装载END设备和启动END设备。END设备的指定是通过数组 endDevTbl[ ]来完成的,该数组描述了系统中的所有网络设备的装载人口点及其相关参数。系统调用MUX设备装载函数mux-DevLoad()来装载END设备,调用 MUX设备启动函数muxDevStart()来启动END设备。网络设备驱动程序的装载过程如图4所示。系统通过usrRoot()函数来调用 usrNetInit()函数完成MUX的初始化,装载网络设备表endDevTbl[ ]中描述的所有设备,并将IP协议绑定到网络引导设备上等。
当网络设备产生中断时,VxWorks调用驱动程序先前注册的中断服务程序。中断服务程序应做尽可能少的工作,以完成将数据包从本地网络设备送出/取出的操作。
2.3 文件配置
由于RTL8019兼容NE2000网卡芯片,只需要在其基础上完成必要的修改。首先将Tornado2.2\target\src\drv\end目录下的ne2000End.c和Tornado2.2\target\h\dry\end目录下的ne2000End.h拷贝到bsp目录下,然后修改以下文件。
(1) 修改ne2000End.C
①修改头文件包含目录;
|
③sysLanIntEnable修改为intEnable,并修改返回类型void为STATUS。
(2) 修改ne2000End.h
将寄存器地址左移1位,如:
#define ENE_RSTART(0x01<<1)
(3) 修改config.h
添加网络宏定义:
①#define INCLUDE_NETWORK
②#define INCLUDE_END
③#ifdef INCLUDE_END
#undef INCLUDE_SNGKS32C_END
#define INCLUDE_NE2000_END
评论
发表评论