使用 KSZ8863 和 AT91RM9200

问题描述

社区新手,请看这里。首先,感谢这些年来我一直致力于嵌入式开发的所有帮助:D

我的 Atmel AT91RM9200 ARM 微处理器出现问题,该微处理器通过 RMII 连接到 Mikrel KSZ8863 以太网物理接口。 ARM 加载了 U-Boot 1.1.2,它加载了 Linux Kernel v2.4.27。

我手动添加代码以将 U-Boot 与 KSZ 连接起来。

问题是: 使用 U-Boot,如果我尝试从我的 TFTP 服务器(位于同一网络中)下载某些内容,连接有时会出现太多超时以致下载失败,有时只有 2 或 3 次超时。

我检查了 U-Boot 常见问题页面,超时的最可能原因是速度配置错误,我仔细检查了一遍。

我的连接不可靠的原因是什么?

谢谢, 洛兰兹。

解决方法

设置一个由 TFTP 服务器、客户端和 Sniffer(混杂模式下的 Wireshark)组成的极简网络(如果你使用交换机,它必须有一个中继器端口来连接嗅探器 PC)

下次运行流量捕获并分析超时发生的时间和方式。

考虑:

  1. TFTP BlockSize 过大导致 IP 碎片处理不当。
  2. 服务器在 REQ 或 ACK 后提供数据包的速度过快
  3. 未正确处理块号翻转(仅在处理大文件时)