我使用了srio_loopbackdioisrexample 例子工程调试两片dsp(6678,6670)间的dio,将原来例子工程的LoopBackMode改成了NormalMode,在运行的时候碰到了一些问题。
1.在4个port都为1x的配置下,检测port的
for(i = 0; i < 4; i++)
while (CSL_SRIO_IsPortOk (hSrio, i) != TRUE);
无法通过。在将port设置成了4x,只执行while (CSL_SRIO_IsPortOk (hSrio, 0) != TRUE);时,才可以通过port状态检测。
请问在2片dsp的情况下,port的配置是不是有什么特别的要求。
2.在执行Srio_sockSend时,如果to.dio.dstID配置成了例子工程提供的4个deviceId的任意一个,数据都会传到对片,这个是为什么?
3.在这个有两片dsp的系统中,是不是每个dsp都应该有一个在初始化的时候配置好的deviceId?如果是的话,例子工程的那一条语句配置了dsp的deviceId号?
两片dsp的deviceId号是不是要不一样?
Andy Yin1:
你是使用两个EVM板进行互联测试么?
1. 取决于你的硬件设计,如果是EVM的话,4个port都是通过AMC进行扩展,可以配置为任意模式进行通信的;
2. 每个DSP可以初始化化16个local device ID,不同的DSP最好设置不同的ID,代码在SRIO init的时候需要配置好,你可以仔细看看,至于你说的4个ID均可发送数据,有可能是对端DSP设置了相应的4个local device ID.