U-Boot移植日志(6) --RTL8019

本文记录了解决8019网络接口芯片在嵌入式系统中出现的“Pacakagetoobig”错误及后续网络调试的过程,包括设置8位模式、排查ping不通的原因并最终确认为防火墙问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么也没改,编译之后连不连网线在TFTP时都显示

"Pacakage too big!"

以前没有怎么接触过8019,看了一个8019的代码与其它的开发板上的比较也没有什么区别,只是另外一块板上接的是16位模式,44B0的A1接8019的A0,而我的板上是A0接A0一对一接的。

再看8019的驱动,1.1.4中的8019驱动中也有说明是用于8位版本,如果要用16位需要修改。当然也不清楚怎么修改,就在网上搜了一下。想起来/board/S3C44B0/low_level_init.s中配置8019所在bank BANK3时不知是不是8位,一查果然是16位,于时把BankCon的第13、12位置0,即把位宽设为8位模式,重新编译。

果然编译之后烧进去,tftpboot工作,OK!

既然tftpboot可以工作boot,nfs,dhcp等都应该工作,既然物理层没有问题,上层的软件应该没有什么问题,但是发现一个奇怪的问题,试一下ping居然不通,提示

FAILD:host 192.168.0.10 is not alive

感觉应该不会出这种问题,于是就看代码,发现有超时设置,把超时设置增加了10倍,大概有一秒多,再pring还是不通,tftp都能下载了,连ping都不通,实在令人费解。一根线正接对连,速度不到10M也不会这么慢啊!

看windows的网络连接的状态,每执行一次ping收到一个包,并发送一个包,肯定该指令是正确的,但为什么不通呢?

实在是找不到任何理由不通,苦思冥想,突然想到了WINDOWS的防火墙,想起打开了防火墙,果然关闭防火墙之后,一ping就OK!

NOCKY=>ping 192.168.0.10

host 192.168.0.10 is alive

想了两天,居然是不什么问题都没有!郁闷,不过以后一定要长记性,考虑问题思路也要开阔,本来就没有问题,为什么非得在这上面查问题呢?

到此网络调试,终于基本完成。
2006-08-25

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值