现在是我自己的板子,板上有两片6678芯片,两片6678的sgmii互连;
mcsdk:2.1.2.6m,ndk:2.21.2.43,bois:6.33.6.50
我想调试两片6678之间的网络通信,但是调试中发现每次上电初始化有时会无法通过,会卡在下面两条语句
do
{
CSL_SGMII_getStatus(macPortNum, &sgmiiStatus);
} while (sgmiiStatus.bIsLinkUp != 1);
或者
do
{
CSL_SGMII_getStatus(macPortNum, &sgmiiStatus);
if (sgmiiStatus.bIsAutoNegError != 0)
return; /* This is an error condition */
} while (sgmiiStatus.bIsAutoNegComplete != 1);
但有时自协商能够通过,并且能够正常通信。
请问TI的工程师,这样的情况问题可能出在哪里?怎样解决呢?谢谢啦~
Shine:
请问网口芯片和EVM板一样么?每片c6678网口自环可以通过吗?
user6027759:
回复 Shine:
是一样的,每片6678自环也没有问题。
Shine:
回复 user6027759:
请检查一下sgmii的时钟是否精准?
user6027759:
回复 Shine:
sgmii时钟是正确的,我们板子的srio与sgmii用同一个时钟156.25,srio没有问题
user6027759:
回复 Shine:
而且即使第一次自协商失败,一般系统复位之后再进行初始化就能过了。