大家好。
我的 SRIO 接口为1个4端口(6671 DSP 至6671 DSP)。
我正在执行通信功能测试。
我重复断开链路并重新连接。
如果 DSP 端口输入错误停止或输出错误停止、我将值0x2003F044写入 PLM 端口 n 控制符号 并重新对齐 ackid。 然后、通信正常恢复。
if ((hSrioCSL->RIO_SP[portnum].RIO_SP_ERR_STAT 和0x00010000)||(hSrioCSL->RIO_SP[portnum].RIO_SP_ERR_STAT 和0x00000100) //输入或输出错误停止
hSrioCSL->RIO_PLM[portnum].RIO_PLM_SP_Long_CS_TX1 = 0x2003F044; //对齐 Ack ID 预期的 AckID[portnum]=(hSrioCSL->RIO_SP[portnum].RIO_SP_LM_RESP & 0x000003E0)>> 5; hSrioCSL->RIO_SP[portnum].RIO_SP_ACKID_STAT =(预期的 AckID[portnum]|(预期的 AckID[portnum]<< 8)|((预期的 AckID[portnum]+1)<< 24)); CSL_SRIO_ClearLSUPendingInterrupt (hSrioCSL、0xFFFFFFFF、0xFFFFFFFF); } }
|
|
但是、如果我继续此测试、我满足 "EG_DATA_overflow"和 "EG_CRQ_overflow"要求、 通信已停止。
如果 DSP 端口 PBM_SP (n)_STATUS "EG_DATA_overflow"或 "EG_CRQ_overflow"、能否正常清除此状态并交换数据包?
谢谢。
此致。
您。