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.

利用KeyStone_5F00_SRIO测试DSP的SRIO自循环不成功!



我设计的板子上面有两片DSP,不妨称为DSP0DSP1DSP0DSP1连接在一条JTAG链上,其Target Configuration如附件图1所示。
DSP04x SRIO连接到一片数据交换芯片上,DSP14x SRIO连接VPX上,用于将来的底板互联。
使用资源KeyStone_5F00_SRIO例程测试单个DSPSRIO内循环。
     1、   连接DSP0CORE0,也就是链上的/C66xx_0(见附件图2),将生成的.out文件load,然后 运行,能够得到测试结果。
     2、   连接DSP1CORE0,也就是链上的/C66xx_8(见附件图2)load同一个.out文件运行,程序停在了函数Keystone_SRIO_Init(&srio_cfg)里面。经过跟踪测试,发现程序运行到这段代码:
 
for(i=0; i<SRIO_MAX_PORT_NUM; i++)
{
       if(srio_cfg->blockEn.bLogic_Port_EN[i])
       {
           while(0==(srioRegs->RIO_SP[i].RIO_SP_ERR_STAT&
              CSL_SRIO_RIO_SP_ERR_STAT_PORT_OK_MASK));
       }
}
程序一直死在if内部,代码给出的注释是:/*---------wait all enabled ports OK-------------*/
是否可以这样理解:SRIO ports一直没有准备好?可能是什么原因呢?如何解决?谢谢。

还请问:

        1、这个自循环包含哪些循环?进入到物理层了吗?是否进行了8B/10B编码?

        2、端口没有准备好,和有没有负载有没有关系?不过evm的SRIO好像连岛金手指上了,也应该认为没有负载吧?

SRIO_TEST_WRONG.doc