阅读:2041回复:5
请教关于VxWorks,谢谢!!!
我在tornado2.2版本下,我编写了NE2000的底层通信程序,跑得非常好!我将其放到2.0版本下运行时,收发数据不到两万组,就死掉了!查不原因???
环境:pc104主板(digital公司),ne2000双网卡(盛博公司) 2.2版本下:用NE2000启动,用另一个NE2000做底层通讯!(可用) 2.0版本下:用NE2000启动,用另一个NE2000做底层通讯!(可用) 2.0版本下:用pc104主板上的寄生网卡82559引导启动,用NE2000网卡(两个或一个)做底层通讯(均不可使用,大概在8000到30000组数据后不能响应中断!)。 另外:想请教怎样在2.2环境下,配置82559ER网卡!!! 谢谢!!! |
|
沙发#
发布于:2004-12-23 20:19
应该是是内存泄漏!
大概有两个地方你仔细在查一下,一是驱动程序中定义的MBLK缓冲池,边界检查的够不够仔细,二是检查一下网卡缓冲区的读写,那个也很容易造成内存泄漏。 不知道说的对不对,反正vxworks的bug不少,有些问题我也没搞明白,反正是一涉及到发送队列的数据包重入,简单说就是如果正在发送的那个包没有发送成功回到队列里面就可能已经出问题了。唉,可惜手头上没有全部的源码。 2。2下82559er的驱动就直接用fei就可以了,没问题 |
|
板凳#
发布于:2005-01-29 17:08
建议楼主给sindo_bird加分。
|
|
|
地板#
发布于:2005-01-29 18:39
中断处理不完全最可能。要看你的程序才能知道到底问题可能处在那里。
|
|
地下室#
发布于:2005-01-30 18:04
我认为应该是协议栈的问题,其他的网卡驱动也有类似现象
|
|
|
5楼#
发布于:2005-01-30 19:08
别的我现在还没作,不过8139d主要是自身驱动的问题,当然协议的问题也有,不过不是致命的。
|
|