Vxworks嵌入式操作系统下网络设备驱动程序设计
END驱动程序是基于MUX模式,网络驱动程序被划分为协议组件和硬件组件。MUX数据链路层和网络层之间的接口,它管理网络协议接口和低层硬件接口之间的交互;将硬件从网络协议的细节中隔离出来;删除使用输入钩例程来过滤接收从协议来的数据包,和删除了使用输出钩例程来过滤协议包的发送;并且链路层上的驱动程序需要访问网络层(IP或其他协议)时,也会调用相关的MUX例程。值得注意的是,网络层协议和数据链路层驱动程序不能直接通讯,它们必须通过MUX。如图3所示:
本文链接地址:http://www.oyaya.net/fanwen/view/154551.html
2.3将驱动程序加载到Vxworks系统中
要对所设计的驱动程序进行测试,首先就必须把驱动程序加载到Vxworks IMAGE中,并且给设备分配一个IP,这样才能有利于网间测试。
首先,修改configNet.h文件,添加如下代码:
#ifdef INCLUDE_DM_9102_END
#define DM_9102_BUFF_LOAN_0 1
#define DM_9102_LOAD_FUNC sysDm9102EndLoad
#define DM_9102_LOAD_STR_0 ""
IMPORT END_OBJ * DM_9102_LOAD_FUNC (char *, void *);
和END_TBL_ENTRY endDevTbl [] 中添加
#ifdef INCLUDE_DM_9102_END
{0, DM_9102_LOAD_FUNC, DM_9102_LOAD_STR_0, TRUE, NULL, FALSE},
#endif /* INCLUDE_DM_9102_END */
其次,编辑config.h文件,添加如下代码:
#define INCLUDE_DM_9102_END /* Davicom 9102 Fast Ethernet Controller */
最后,编辑sysLib.c文件,添加如下代码:
/* include dm9102 End driver support routines */
#ifdef INCLUDE_DM_9102_END
IMPORT STATUS sysDm9102Pci
《Vxworks嵌入式操作系统下网络设备驱动程序设计(第3页)》