测试目的:DSP通过网口与PC机通信
测试工具:6678_EVM开发板
修改代码部分:修改截图部分,其他地方没做任何修改。
出现的问题:初始化程序陷入死循环
1:程序1级目录:KeyStone_GE_Init(&ge_cfg);
2:程序2级目录:KeyStone_Ethernet_Ports_Init(ge_cfg);
3:2级目录下初始化程序陷入死循环定位代码
/*2 Poll the LINK bit in the SGMII_STATUS register to determine when the link is up.*/
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LOCK_MASK));
if(ETHERNET_MAC_LOOPBACK != ge_cfg->loopback_mode)
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LINK_MASK));
其中while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LINK_MASK));判断这个条件一直为真,导致程序陷入死循环。
请高手帮忙解答一下。谢谢。
Shine:
检查一下ethernet_mode设置http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/p/132846/371359.aspx#371359