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.

6472 双DSP SRIO通信问题



我们使用的是英国SUNDANCE的开发板,两块6472通过SRIO的PORT0连接,但是调了一个星期了,始终没有通信成功,希望能得到专家的帮助。

1.我的思路是分别对接收端和发送端建立两个工程,初始化部分都一样,发送端多一个写数据的函数(根据ID和SL2RAM地址往另一块DSP写数据),且发送端和接收端的头文件中定义各自的BASE ID。运行时,分别将OUT文件加载到两块DSP,然后先跑接收端,再跑发送端。请问这样操作是否正确?会不会因为接收端的main函数跑完了就不接收数据?还是只要初始化成功DSP就一直能够接收数据?

2.我参考的是CSL中的example:Srio_serdes_loopbk_example。这个例子应该做的是回路测试,所以我要将pSetup->periCntlSetup.loopback = 1 改为0,使用normal模式而不是loopback模式。但是遇到一个问题:程序中有一段是测试端口是否初始化成功的代码:

/* Loop around till the PORT is initialized. */
    response.index = SRIO_PORT_NUMBER;
    do
    {
   delay(10000);  //check the response every 100 cpu clcok = 100 ns
   CSL_srioGetHwStatus (hSrio, CSL_SRIO_QUERY_SP_ERR_STAT, &response);
    }while(response.data & 0x1);

当loopback=1,即loopback模式时,端口可以初始化,但只要我一把loopback改为0,程序就在这一块陷入了死循环,这个问题一直没有解决。

感谢专家的指点,一个星期都没有进展了,很着急啊。