各位专家:
前几天我问了一个关于6678 SRIO的问题但是一直没有得到答复,论坛中也有很多人问了SRIO配置为x4 模式的问题,但是都没有给出最终的解释。我感觉我们的问题都是一样的。现将我的问题描述如下:
我现在用两块6678开发板外接SRIO交换机进行DSP间SRIO通讯调试。程序采用的是论坛提供的KeyStone_SRIO ,配置成SRIO_NO_LOOPBACK模式,其中一块开发板在core0上运行程序,另一块开发板在core1上运行程序。
我将SRIO配置为3.125G x4 模式。作了如下修改:
1)配置3.125G 将 SRIO_DEFAULT_TEST_SPEED 定义为3.125 ;
2)配置成x4模式时 将 test_2DSP_cfg结构体中SRIO_PATH_CTL_1xLaneA_1xLaneB_1xLaneC_1xLaneD改为 SRIO_PATH_CTL_4xLaneABCD ,并将
srio_cfg.blockEn.bLogic_Port_EN[0]= FALSE;
srio_cfg.blockEn.bLogic_Port_EN[1]= FALSE;
去掉。
3)将srio_cfg.srio_1x2x4x_path_control= SRIO_PATH_CTL_1xLaneA_1xLaneB_1xLaneC_1xLaneD; 改为srio_cfg.srio_1x2x4x_path_control= SRIO_PATH_CTL_4xLaneABCD;
,并将 srio_cfg.blockEn.bLogic_Port_EN[0]= FALSE;
srio_cfg.blockEn.bLogic_Port_EN[1]= FALSE;
去掉。
请问以上修改是否正确?
经过如上修改后程序运行至 Keystone_SRIO_match_ACK_ID(0, DSP1_SRIO_BASE_ID, 0);处过不去。断点跟进去后发现是Keystone_SRIO_Maintenance 函数返回值始终为1 ,即发送超时。
在程序调试时我单步进入Keystone_SRIO_Init 函数时发现,调试指示光标和程序相差一行,这种情况在其他函数中是没有的,究竟是什么原因呢?
谢谢!