自己开发的C6657板子,使用论坛上下载的STK_C6657软件包进行SRIO的自环测试,无论是SRIO_DIGITAL_LOOPBACK,还是SRIO_SERDES_LOOPBACK,无论自环测试时SRIO的速率设置为5、3.125、2.5还是1.25Gbps,都是在多端口测试时出现下面的错误:
………….
SRIO path configuration 2xLaneAB_1xLaneC_1xLaneDSWRITE from 0x10802200 to 0x11802200 through port 0, 32768 bytes, 154461 cycles, 1697 Mbps, completion code = 0
data mismatch at unit 0, 0x532 (at 0x10802200) != 0x534 (at 0x11802200)
NWRITE from 0x1080a200 to 0x1180a200 through port 2, 32768 bytes, 292808 cycles, 895 Mbps, completion code = 0
MESSAGE from 0x c002000 to 0x11802200 through port 3, 4096 bytes, 46975 cycles, 697 Mbps, completion code = 0
………………..
其余的测试都能通过。
上面比对错误的地址在单端口的自环测试中没有问题,如下:
STREAM from 0x10802200 to 0x11802200, 8192 bytes, 37265 cycles, 1758 Mbps, completion code = 0
Anni Zhang:
补充一下开发环境:CCS 5.5.0.00077,pdk_C6657_1_1_2_6
Thomas Yang1:
回复 Anni Zhang:
您所谓的多端口测试指的是?
注意速率和端口之间是有映射关系的
Anni Zhang:
回复 Thomas Yang1:
单端口是指SRIO的链路配置为1个1X,1个2X或者1个4X
多端口是指SRIO链路配置为4个1X,或者2个1X,或者2个2X,或者1个2X加2个1X,类似这样的
在C6657的手册中看到
Four Lanes of SRIO 2.1• 1.24, 2.5, 3.125, and 5 GBaud OperationSupported Per Lane• Supports Direct I/O, Message Passing• Supports Four 1×, Two 2×, One 4×, and Two1× + One 2× Link Configurations
难道C6657不支持1个2X+2个1X吗?
Thomas Yang1:
回复 Anni Zhang:
支持的,您看看是哪个LANE出错了,重点先检查下LANE的相关错误状态寄存器。
Anni Zhang:
回复 Thomas Yang1:
回 Thomas Yang1,SRIO_DIGITAL_LOOPBACK也出问题,与serdes无关,看lane的状态是不是没有意义。
Thomas Yang1:
回复 Anni Zhang:
我说的LANE不光是SERDES相关,也包括上层的状态错误指示,比如首先您看看 PORT是否是OK的?