ZYNQ研究----(3)7100 裸跑LWIP协议栈

硬件环境:创龙TLZ7XH-EVM开发板

软件环境:VIVADO 2017.4

 

1、调用ZYNQ核

查开发板原理图,MIO16-27为以太网接口52、53为MDIO接口,配置如下

ZYNQ研究----(3)7100 裸跑LWIP协议栈

使能串口1,选择12-13,如下

ZYNQ研究----(3)7100 裸跑LWIP协议栈

其他不用改,直接生成bit文件,导出到硬件,启动SDK

2、在SDK中,创建一个 lwIP Echo Server工程,什么都不改,直接编译,下载,需要注意,因为没有调用任何PL资源,因此可以不用下载FPGA

3、全速运行,打开串口CTR,观察串口打印信息,发现卡在网络自协商,怀疑是自协商不通过的问题,因此更改LWIP对应的.mss文件,选择不自动协商,强制1000Mbps

ZYNQ研究----(3)7100 裸跑LWIP协议栈

4、全速运行,显示

-----lwIP TCP echo server ------
TCP packets sent to port 6001 will be echoed back
link speed for phy address 0: 1000
Board IP: 192.168.1.10
Netmask : 255.255.255.0
Gateway : 192.168.1.1
TCP echo server started @ port 7

以为通了,ping此地址,不通。

5、怀疑是PHY芯片的原因,因为开发板没有拆屏幕,故不知道他的核心板用的什么PHY,查开发板自带的资料,发现在LWIP Demo中重写了xemacpsif_physpeed.c文件,怀疑就是PHY的问题,将此文件复制到工程对应的文件夹下并替换,重新编译,下载,全速运行,可以ping通,且telnet有回声。

结束。