VxWorks网络驱动配置及分析

本文详细介绍了VxWorks操作系统中两种网络驱动的配置,包括BSD4.4驱动和END驱动。BSD驱动主要在usrNetwork.c文件中通过usrNetIfAttach函数初始化,而END驱动通过configNet.h中的endDevTbl数组表进行初始化。配置过程涉及在BSP配置文件中启用相应宏定义,并指定I/O参数。

     VxWorks支持两种形式的网络驱动,一种是BSD驱动支持通用的BSD4.4网络,API,结构等和大多数BSD网络的驱动类似.另一种是END网络驱动,是VxWorks独有的,根据VxWorks MUX接口编程,不过END驱动在底层也要转换成BSD的形式.

VxWorks网络驱动可参见VxWorks网络驱动

1.BSD4.4网络驱动设置.

  网络设备驱动的调用主要在/target/src/config/usrNetwork.c文件中,下面说明BSD4.4驱动在VxWorks系统调用.

主要调用过程如下:

  VxWorks系统执行的第一个任务target\config\all\usrConfig.c文件中 usrRoot()=======>>target\src\config\usrNetwork.c文件中的usrNetInit 
( )通过数组表netIf[]初始化相应的BSD网卡驱动.

在usrNetwork.c中的调用过程如下:

usrNetInit()函数中调用usrNetIfAttach():

#ifdef INCLUDE_BSD
if (!attached)
{
    if ( (usrNetIfAttach (pNetDev, params.unitNum, pBootString) !=OK))
        return (ERROR);
    attached = TRUE;
}
#endif

usrNetIfAttach ()函数中调用数组表usrNetIfTbl

for (pNif = usrNetIfTbl; pNif->ifName != 0; pNif++)
    {
    if (strcmp (buf, pNif->ifName) == 0)
    break;
    }

 

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值