您的位置:首页 > 理论基础 > 计算机网络

u-boot-2014-04 网络不通解决一例

2014-07-07 18:55 134 查看
不久前我移植了u-boot-214-04到Tq2440的板子上,基本功能都有了,网卡也可以使用了。有一天打算把u-boot-2010-06也也一直到tq2440上,移植完后发现u-boot-214-04在tq2440上的网络死活不通了。

通过加打印发现,在u-boot-2014-04上使用ping命令是有如下信息:

GotARP

[code]packetreceived
Receivefromprotocol0x86dd

packetreceived

Receivefromprotocol0x86dd

packetreceived

Receivefromprotocol0x800

GotIP

lenbad48<124

packetreceived

Receivefromprotocol0x86dd

packetreceived

Receivefromprotocol0x800

GotIP

lenbad62<125

packetreceived

Receivefromprotocol0x806
GotARP

packetreceived

Receivefromprotocol0x86dd

packetreceived

Receivefromprotocol0x800

GotIP

lenbad48<126

packetreceived

Receivefromprotocol0x86dd

packetreceived

Receivefromprotocol0x800

GotIP

lenbad62<127

packetreceived

Receivefromprotocol0x800

GotIP

len=128,v=00

packetreceived

Receivefromprotocol0x800


[/code]

即收的的包格式不对,总是打印lenbad,觉得不应该,用u-boot-2010-06,网络却是好的。最后发现,原来是我在移植u-boot-2014-04时使用的工具链的版本是:

gccversion4.3.3(SourceryG++Lite2009q1-176)

但是在移植u-boot-2010-06的时候换成了

gccversion3.4.5

用3.4.5版本了的工具链编译最新的u-boot,会发生问题。然后我重新换成4.3.3版本的工具链,网络就正常了。

所以,编译最新的u-boot应该用比较新的交叉编译工具链,否则会出现很诡异的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: