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.

srio初始化问题



在一片c6678和6片cps1848的交换板上运行keystone函数时,总是卡在了

/*---------wait all enabled ports OK-------------*/
for(i=0; i<SRIO_MAX_PORT_NUM; i++)
{
     if(srio_cfg->blockEn.bLogic_Port_EN[i])
    {
            while(0==(gpSRIO_regs->RIO_SP[i].RIO_SP_ERR_STAT&
            CSL_SRIO_RIO_SP_ERR_STAT_PORT_OK_MASK));
     }
}

同样的程序在信号处理板上(4片c6678和1片1848)运行是可以的,已经检查了dsp和1848的时钟都是正常的,读取dsp端的状态寄存器说是输入或输出端口未初始化,请问还有什么原因导致会卡在这个地方?硬件设计上,基本上差不多。

  • 可能性太多,你可以先检查SRIO里的这些状态寄存器是什么值,贴到这里来分析一下;

    一般来说,一种是做初始化的时候有些寄存器没有正确配置到,另一种可能性是线路有问题,没有办法和对方的芯片握手完成端口初始化。