This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教6678运行例程GE的问题

TI的工程师,你好。我现在用的板卡是6678的开发板。在使用你们提供的K1_STK_v1.1文件夹下的进行网络测试的程序GE时碰到了一个问题,想向你们请教一下:
1、当进行DSP内部SERDES回环测试时,程序可以正确运行。相应的GE_Test.c 文件夹测试参数设置为:
/*select between internal/external loopback test or test between two DSPs*/
GE_Test_Data_Path test_data_path= GE_TEST_SERDES_LOOPBACK;

/*select between 10/100/1000Mbps or auto negotiation mode*/
Ethernet_Mode ethernet_mode = ETHERNET_1000M_FULLDUPLEX;

2、把开发板与我们自己做的板子通过网线互连,开发板运行在0核,我们自己的板子运行在1核。当进行GE_TEST_EXTERNAL_FIFO_LOOPBACK时,两个DSP的程序都停在函数KeyStone_Ethernet_Ports_Init()的下面这个位置:
/*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));
相应的GE_Test.c 文件夹测试参数设置为:
/*select between internal/external loopback test or test between two DSPs*/
GE_Test_Data_Path test_data_path= GE_TEST_EXTERNAL_FIFO_LOOPBACK;

/*select between 10/100/1000Mbps or auto negotiation mode  开发板*/
Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_MASTER;

/*select between 10/100/1000Mbps or auto negotiation mode  我们自己的板子*/
Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;

3、把开发板与PC通过网线互连,进行GE_TEST_DSP0_TO_DSP1测试时,DSP程序停在
/*2 Poll the SGMII_STATUS register to determine when autonegotiation is
complete without error. The AN_ERROR bit in the SGMII_STATUS register will be set if the mode was commanded to be half-duplex gigabit.*/
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LOCK_MASK));
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_LINK_MASK));
while(0==(gpSGMII_regs[i]->STATUS_REG&CSL_CPSGMII_STATUS_REG_MR_AN_COMPLETE_MASK));

相应的GE_Test.c 文件夹测试参数设置为:

/*select between internal/external loopback test or test between two DSPs*/
GE_Test_Data_Path test_data_path= GE_TEST_DSP0_TO_DSP1;
/*select between 10/100/1000Mbps or auto negotiation mode*/
Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;

2.和3从程序运行过程看都是在link up的时候出错了。请问这个问题的原因在什么地方?你们用开发板进行上面的第3个测试是正常的吗?是不是我有哪些参数没有设置对?谢谢!