vxworks网卡加载时间缩短

 

做vxWorks的兄弟们大多有这样的经历:网卡加载对系统启动速度有很大的影响,而且插不插网线往往启动时间的差别很大。下面给出缩短网卡加载时间的几种工程化方法,供大家参考,并希望有更好方法的大虾们提供更多的方法。

其一:禁止物理接口的自动协商,强制PHY参数。因为网卡加载中有很大一部分时间是用于PHY连接的速度、半/全双工探测的。插网线和不插网线的时间差,可以大约认为就是这一部分,耗时最长。
优点:效果明显;WRS支持网站上提供了这种方法。
缺点:必须针对每一个网卡的驱动来进行不同的修改。必须明确清楚与本网卡连接的设备的速率。
以82559(fei557)为例,强制100M,全双工可以在sysFei82557End.c里面修改:
pBoard->phySpeed = PHY_100MBS;
pBoard->phyDpx   = PHY_FULL_DPX;


其二:延迟加载。把必要加载的网卡先加载,把不必要一上电就使用的网卡滞后加载,在configNet.h的End table中,除去不必要的网卡接口,在应用程序启动之后,再按照网卡组件的加载规则通过程序加载。具体可以参考工程生成的prjConfig.c和comps里面的有关end加载的文件。
缺点:需要修改组件配置的源文件(comps里面)。
优点:对单网卡在系统中不做调试以外的使用,或不是要求一启动就连接成功的系统,或者是多网卡系统,可以加快启动整体速度。

其三:分线程加载,因为网卡加载的过程本来是在root任务里面进行的,加载网卡的时候,多任务环境已经建立,可以把网卡加载的函数endLoad,start等创建一个任务单独运行。这样并不影响socket等函数的调用。
缺点:需要自己创建组件,系统启动之初网卡不可用。
优点:不用改厂商原来的文件(comps目录下的),特别对于vxWorks6很适用。

以上三种方法,各有利弊,都没有考虑从根本上解决网卡加载时间,只是从改善实际使用体验的角度去考虑问题。各位如果有更好的方法,希望共享啊

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值