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.

求助,使用dsp 6657 开发 事例SRIO_LoopbackDioIsrexampleproject调试,出现debug 不过现象



平台: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 ?

  • 环回改成正常模式,显然没有办法通信,单片DSP只能测试环回模式。

  • 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

  • 你看看PORT STATUS是什么状态,链路不通的可能性很多,可能是寄存器配置不对,也可能是链路信号质量不好

  • PORT STATUS 对应寄存器SPn_ERR_STAT的值为1 ,我查看了寄存器手册,代表Port Uninitialized,代表什么什意思?端口没有初始化?