平台:dsp 6657开发板
编译实例:SRIO_LoopbackDioIsrexampleproject
其中把device_srio_loopback.c文件中代码 环回模式改成 normal 模式时,重新编译和debug 不过现象,代码代码修改处见下:
/* Configure SRIO ports to operate in loopback mode. */
// CSL_SRIO_SetLoopbackMode(hSrio, 0);
// CSL_SRIO_SetLoopbackMode(hSrio, 1);
// CSL_SRIO_SetLoopbackMode(hSrio, 2);
// CSL_SRIO_SetLoopbackMode(hSrio, 3);
/* Configure SRIO to operate in normal mode. */
CSL_SRIO_SetNormalMode(hSrio,0);
CSL_SRIO_SetNormalMode(hSrio,1);
CSL_SRIO_SetNormalMode(hSrio,2);
CSL_SRIO_SetNormalMode(hSrio,3);
进行debug后,发现一直死在这块代码while判断处
#ifndef SIMULATOR_SUPPORT
/* This code checks if the ports are operational or not. The functionality is not supported * on the simulator. */
for(i = 0; i < 4; i++)
while (CSL_SRIO_IsPortOk (hSrio, i) != TRUE);
#endif
请教,各位大神,这是为什么呢?
另外:
/* Assuming the link rate is 2500; program the PLL accordingly. */ CSL_BootCfgSetSRIOSERDESConfigPLL (0x233);
/* Configure the SRIO SERDES Receive Configuration. */
CSL_BootCfgSetSRIOSERDESRxConfig (0, 0x004404a5);
CSL_BootCfgSetSRIOSERDESRxConfig (1, 0x004404a5);
CSL_BootCfgSetSRIOSERDESRxConfig (2, 0x004404a5);
CSL_BootCfgSetSRIOSERDESRxConfig (3, 0x004404a5);
/* Configure the SRIO SERDES Transmit Configuration. */
CSL_BootCfgSetSRIOSERDESTxConfig (0, 0x001807a5);
CSL_BootCfgSetSRIOSERDESTxConfig (1, 0x001807a5);
CSL_BootCfgSetSRIOSERDESTxConfig (2, 0x001807a5);
CSL_BootCfgSetSRIOSERDESTxConfig (3, 0x001807a5);
上面serdes配置,是不是配置成250Mhz pll, 4分之1 速率,1.25Gbps ?
yue sun1:
回复 Allen35065:
allen,请问下,两块6657的开发板使用srio 一条lane 2.5G 相连,怎么运行srio的实例?
我修改了
/* Configure SRIO to operate in normal mode. */
CSL_SRIO_SetNormalMode(hSrio,0);
然后初始化的时候,一直卡在这个地方,请问下, 有没有正常初始化的例程?或者是说srio 端口没有打开有哪些因素造成的呢?两块开发板要分别怎么配置srio呢?万分感谢
#ifndef SIMULATOR_SUPPORT
/* This code checks if the ports are operational or not. The functionality is not supported * on the simulator. */
for(i = 0; i < 4; i++)
while (CSL_SRIO_IsPortOk (hSrio, i) != TRUE);
#endif
Allen35065:
回复 yue sun1:
你看看PORT STATUS是什么状态,链路不通的可能性很多,可能是寄存器配置不对,也可能是链路信号质量不好
yue sun1:
回复 Allen35065:
PORT STATUS 对应寄存器SPn_ERR_STAT的值为1 ,我查看了寄存器手册,代表Port Uninitialized,代表什么什意思?端口没有初始化?
TI中文支持网