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.

CCS/TMS320C6678: C6678 failed in SRIO init

Part Number: TMS320C6678

Tool/software: Code Composer Studio

Hi TI engineer:

          We use the keystone code to init the srio module. It usually works well.But one time in hundreds of test, the software will fail to pass the srio init.It will dead in the following loop:

void KeyStone_SRIO_GlobalEnable(void)
{
gp_srioRegs->RIO_GBL_EN = 1;
gp_srioRegs->BLOCK_ENABLE_STATUS[0].RIO_BLK_EN= 1; //MMR_EN

//wait for enable completion
while(0x3 != (gp_srioRegs->RIO_GBL_EN_STAT&0x3));

}

          Could you tell us why?Thank you very much!

          Regards

          Yuchao

  • YUCHAO,

    Cann you please refer to the implementation  of these functions in CSL provided in Processor SDK RTOS for C667x in the file csl_srioAux.h.  You can also look at the initialization sequence for SRIO in the test code provided as part of the SRIO driver in the SrioDevice_init function that is part of the test code                    

    Regards,

    Rahul

    
    

    PS:

    The functions in CSL have been defined as :

    static inline void CSL_SRIO_GlobalEnable (CSL_SrioHandle hSrio)
    {
        CSL_FINS (hSrio->RIO_GBL_EN, SRIO_RIO_GBL_EN_EN, 1);
    }
    
    
    static inline void CSL_SRIO_EnableBlock (CSL_SrioHandle hSrio, Uint16 blockNumber)
    {
        CSL_FINS (hSrio->BLOCK_ENABLE_STATUS[blockNumber].RIO_BLK_EN, SRIO_RIO_BLK_EN_EN, 1); 
    }