TI中文支持网
TI专业的中文技术问题搜集分享网站

c6455网络问题

我有两块c6455的板子,其中一块能够正常进行网络通信,另外一块不能通信

能够网络通信的板子最后提示是:

== Start Shared TCP Socket Echo Test ==
Link Status: 1000Mb/s Full Duplex on PHY 0

不能够正常通信的板子最后提示是:

== Start Shared TCP Socket Echo Test ==
Link Status: 1000Mb/s Full Duplex on PHY 1

他们使用不同的phy吗?但是c6455只有一个emac,外接一个phy,怎么会有PHY0 PHY1呢?

void C6455EMAC_linkStatus( uint phy, uint linkStatus )
{
printf("Link Status: %s on PHY %d\n",LinkStr[linkStatus],phy);

}

其中的PHY这个参数从哪儿传给C6455EMAC_linkStatus()函数的呢?例程中没有看到C6455EMAC_linkStatus()函数的调用,应该是在库函数中调用的, 或者系统怎么知道PHY0 PHY1呢?

Denny%20Yang99373:

单步跟踪对比一下 参数和程序执行流

zhubaojun:

回复 Denny%20Yang99373:

单步跟踪也不行啊?C6455EMAC_linkStatus()这个函数应该在hal_eth_c6455.lib中调用,lib文件不可能有源码,我单步运行也没有任何效果,我只想知道void C6455EMAC_linkStatus( uint phy, uint linkStatus )这个函数的phy参数从哪儿传过来的,由谁来决定phy参数的数值,是硬件外围电路,还是软件来决定?

zhubaojun:

回复 zhubaojun:

另外c6455的emac接口有好多种方式rgmii gmii等,请问在哪儿设置,假设不设置接口方式,也就是使用默认的方式,是否可以正常工作,我记忆中好像不同的接口方式使用同一个代码可以工作

Tony Tang:

回复 zhubaojun:

user4108205:

phy0~phy31,这个编号是由phy芯片的phyadd[0:4]之类的管脚上拉/下拉决定的,在上电一瞬间读取,最后报告给DSP。这两张板子的相应位置的管脚上拉/下拉状态不一样,所以编号也不一样。跟通信状态没有关系。

赞(0)
未经允许不得转载:TI中文支持网 » c6455网络问题
分享到: 更多 (0)