Quantcast
Channel: C6000™多核 - 最近的话题
Viewing all articles
Browse latest Browse all 5545

6678 SRIO重新load程序之后和交换芯片端口总有一端出错

$
0
0

平台为6678通过交换芯片CPS1848和FPGA相连。

在调试中,第一次上电我们按照交换芯片,FPGA,DSP这样的顺序来load程序,结果可以正常的收发,两端的端口也都是OK的。

之后重新load了交换芯片和FPGA的程序,没有load DSP的程序,DSP端就只能够接收FPGA的数据而不能发送出去,此时端口状态寄存器err_stat显示端口错误,读出来的值为0x01130306.

然后load了DSP的程序并对DSP进行重新初始化,跑完SRIO的初始化程序KeyStone_SRIO_Init();之后,端口状态OK,即err_stat寄存器最低字节为2.但此时DSP不能接收数据只能发送数据,这个时候观测交换芯片对应的端口的寄存器,发现端口状态出错,其值为0x84120306。

请问

1.是否可以这么理解,交换芯片和FPGA重新load程序之后,DSP的SRIO仍然处于已初始化的状态,所以可以直接和交换芯片连接上接收数据,但是为何端口状态会是错误,从而无法发送数据?而且端口状态错误之后,为什么还是能够接受数据,而不能够发送数据?

2.为何DSP重新进行一次初始化之后,交换芯片那一端的端口状态就变为了错误,导致这个时候DSP只能发送不能接收?

3.出现这些错误的原因是没有进行维护吗?

4.一边端口出错的情况下,应该使用maintenance函数进行维护吗?还是端口出错maintenance函数在这种情况下就没有作用了?

5.如果不是使用maintenance函数,那么这个错误原因是什么,是因为初始化的原因吗?应该怎么解决啊?

谢谢


Viewing all articles
Browse latest Browse all 5545

Trending Articles