01 ZYNQ LWIP 学习

ZYNQ 使用 VAVIDO 和 SDK 进行编程。其中 VAVIDO 中设置 很简单,加入ETH0 即可。如下图,在SDK 中新建 project 时选用lwip 的例程即可。这里推荐zynq 学习视频,南京米联客论坛对我帮助很大,有视频有代码,提问题也会有工程师回复 微笑http://www.osrc.cn/home.php?mod=space&do=notice&view=mypost

这里因为我手里的板子是z-turn 板,以太网PHY 为 KSZ931,与代码默认的不同,尤其是在检查phy speed 时,寄存器编号不同,导致于查不到速度,会卡在这里,

我在 xemacpsif_physpeed.c 中,复制函数get_Marvell_phy_speed()函数改为get_Micrel_phy_speed(),对以下语句进行修改


XEmacPs_PhyRead(xemacpsp, phy_addr,31,
&status_speed); // 读取寄存器17,改为31 IEEE_SPECIFIC_STATUS_REG
if (!(status_speed & 0x01)) {  //link on 原来0x400,第10 位
xil_printf("PHY Link stutus:not failing \r\n");
temp_speed = status_speed & 0x70; // 读取最高两位速度status_speed & IEEE_SPEED_MASK


if (temp_speed == 0x40)//IEEE_SPEED_1000
return 1000;
else if(temp_speed == 0x20)//IEEE_SPEED_100
return 100;
else
return 10;
}


之后即可运行,在用电脑Ping之前千万注意,最后确认下电脑的 IP 地址。


第一次写博客写的好乱啊,下次要整理成更加清晰的呢



评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值