我在EVMC6678L_EVM上做SRIO外部回环测试或是直接给fpga发包,用的是keystone_srio程序,出现的问题是打不开端口。运行的到下面的程序就一直在那里循环了。有两个问题想问一下专家。
/*---------wait all enabled ports OK-------------*/
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))
printf("***********port OK***************\n");;
}
}
(1)我在外部回环测试或是正常工作模式的时候,开发板外部硬件回环链路如果没有接通,是不是端口就不能打开呢?
(2)我的端口打不开,主要是哪些参数没有配置正确呢?
时钟设置如下:
//DSP core speed
//KeyStone_main_PLL_init (20, 1); //for 50MHz input clock
KeyStone_main_PLL_init (10, 1); //for 100MHz input clock
//DDR speed = 66.67*20/1= 1333
KeyStone_DDR_PLL_init (20, 1);
Shannon_EVM_DDR_Init(666.667); //for 1333Mbps
serdes_cfg.commonSetup.inputRefClock_MHz = 312.5;
硬件时钟树如下:
