END驱动中ipAttach函数出错


 最近我的工作处在BOOT以太网END驱动程序调试阶段,希望BOOT程序能支持网口下载vxWorks镜像功能。但是遇到了一个棘手的问题,我的程序老是在bootLoad()函数里面的ipAttach()程序里出错。即:
    if (ipAttach (params.unitNum, bootDev) != OK)
{
printf ("Failed to attach TCP/IP to device %s", muxDevName);
return (ERROR);
}
执行后,老是返回“Failed to attach TCP/IP to device”。muxDevName所代表的字符串打印不出来。
查网络资料,了解ipAttach()函数内部调用了函数:
int motFecIoctl (DRV_CTRL *pDrvCtrl, int cmd, caddr_t data);
于是在motFecIoctl()里面添加调试信息,了解到ipAttach()至少调用了8次motFecIoctl(),分别用命令:EIOCGNPT、EIOCQUERY、EIOCGMIB2、EIOCGFLAGS、EIOCGMIB2、EIOCQUERY、EIOCGMIB2、EIOCGHDRLEN。
对于ipAttach()的了解就这么多了。ipAttach()是在调用motFecIoctl()出的问题还是在调用motFecIoctl()之外的程序行出的问题,就不知道了。感觉无从下手了。
哪位XDJM有相关经验,可否指导下。不胜感激。

5 个解决方案

#1


你需要逐步添加打印来定位问题所在。
boot原本不就支持网络下载vxworks镜像文件么?

#2


重点关注你的网卡驱动,跟ipAttach()这些系统函数没有关系的。
只要确保你的网卡驱动程序没有问题,配置正确,就一定可以起来。

#3


是powerpc的处理器吧,见你的网卡名是motfec

用环境自带的网卡驱动,吧资源重新配置正确了,一般不会有问题的

#4


你的muxDevName打印不出来,感觉像是该设备没有初始化。请确认该设备的驱动已经正确初始化。

#5


   谢谢大家的回复。我的提问太泛泛,导致无法得到满意答案。先结贴。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号