ALINX以太网例程调试总结
RTL级别的MAC,支持千兆和百兆(10M测下来好像有问题),实现了基本ARP/ICMP/UDP功能。不得不说这个很厉害了,对以太网的协议需要非常了解。
但我在将代码移植到其它平台时,实际测时发现了一些问题。
按照RGMII来说:时钟设计:
由于RGMII接口存在两种时序,一种中心对齐一种边沿对齐。
这个设计是按中心对齐直接做的:
输入时钟通过BUFG直接去拍RXD数据,数据通过IDDR进入,时钟路径如下:
输出时钟直接拍TXD,通过ODDR:
1、缺少io延时约束文件
参照xilinx的约束文件【GMII to RGMII v4.0/pg160】:接收约束和发送越是应该都是两种参数,但实际却只有发送有两种,这一点我很奇怪。而且输入约束也和自己计算的结果对不上。。。
测试命令
ping -n 50 -l 64 -w 3 192.168.0.2
仅作测试用
相关参考
https://www.cppentry.com/bencandy.php?fid=92&id=230372
https://myoschain.com/blog/168329950623956993
测试工具推荐: