当网络设备产生中断时,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
①修改头文件包含目录;
②sysIntConnect修改为intConnect;
③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
#endif/*INCLUDE_END*/[page]
(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函数。
③在sysHwInit()中添加CPU端口初始化:
④在sysHwInit()中添加RTL8019芯片的复位和初始化函数。相关代码如下(有关寄存器的宏定义请参照RTL8019数据手册):
3、结 语
本文在VxWorks嵌入式实时操作系统下,提出了网络接口的解决方案,即以ARM7(S3C44B0)为核心CPU,控制网络控制器TRL8019实现网络通信。本文首先简单介绍了几款主要芯片,给出了硬件原理图;然后简要分析了VxWorks下的网络协议和驱动装载过程;最后,针对此网络接口,详细列出了VxWorks下文件配置过程,提供了部分软件源程序,对开发人员有一定的参考价值。
责任编辑:gt
关于接口,总线,驱动就介绍完了,您有什么想法可以联系小编。