ZYNQ7020 Lwip echo 测试

一、系统
在vivado中新建一个Block Design,添加一个ZYNQ7 PS (Processing System)
其配置只保留一个网口、一个串口,生成.bit 之后导入到SDK中。结果如图:
这里写图片描述
这里写图片描述
二、SDK工程
导入到SDK之后,新建一个Lwip echo的工程。
这里写图片描述
进入debug模式,连接串口和网口。
这里写图片描述
连接成功之后我们就能看到串口打印出来的信息,通过网络端口可以测试回声。
这里写图片描述
三、结果
找到网口的回调函数:start_application() ---->tcp_accept(pcb, accept_callback) —>tcp_recv(newpcb, recv_callback) —>recv_callback();插入一句打印语句:

	if (tcp_sndbuf(tpcb) > p->len) {
		err = tcp_write(tpcb, p->payload , p->len, 1);
		xil_printf("%s",p->payload);
	} else
		xil_printf("no space in tcp_sndbuf\n\r");

之后我们也可以在串口中看到发送信息的回声:
这里写图片描述
注意:
SDK工程进入不了debug模式可能的原因:
1、时钟设置不正确。
2、DDR设置不正确。
aaaaaaaaa

猜你喜欢

转载自blog.csdn.net/Chi_Hong/article/details/82465090