Uint32 KeyStone_SRIO_wait_LSU_completion(Uint32 lsuNum,
Uint32 transactionID, Uint32 contextBit)
{
Uint32 uiStateIndex= LSU_state_index_table[lsuNum][transactionID];
Uint32 uiCompletionCode;
do
{
uiCompletionCode=(gpSRIO_regs->LSU_STAT_REG[uiStateIndex/8]>>
((uiStateIndex&7)*4))&0xF;
}
while((uiCompletionCode&1) != contextBit);
return (uiCompletionCode>>1);
}
我先给DSP发送一个doorbell信号,通知DSP已经准备好了,然后再用NWRITE方式发送数据,会一直卡在这个循环,看了一下各个寄存器的值,LSU_STAT_REG[0]变成了3.查看手册,这个表示
Transaction Timeout occurred on Non-posted transaction 想问一下是什么问题,能怎么解决 |
user4664208:
Uint32 KeyStone_SRIO_wait_LSU_completion(Uint32 lsuNum,Uint32 transactionID, Uint32 contextBit){Uint32 uiStateIndex= LSU_state_index_table[lsuNum][transactionID]; Uint32 uiCompletionCode;
do{uiCompletionCode=(gpSRIO_regs->LSU_STAT_REG[uiStateIndex/8]>>((uiStateIndex&7)*4))&0xF;}while((uiCompletionCode&1) != contextBit);
return (uiCompletionCode>>1);}
我先给DSP发送一个doorbell信号,通知DSP已经准备好了,然后再用NWRITE方式发送数据,会一直卡在这个循环,看了一下各个寄存器的值,LSU_STAT_REG[0]变成了3.查看手册,这个表示
Transaction Timeout occurred on Non-posted transaction
想问一下是什么问题,能怎么解决
Shine:
回复 user4664208:
看一下是不是SRCIDMAP的问题,请参考下面的帖子。
e2echina.ti.com/…/70011
user4664208:
回复 Shine:
您好,我看了一下帖子,是由于我这边发送了需要response的doorbell信息,而我这边没有收到对方的response。但是我这边只用了一个核,也设了base_id,fpga端发的NWRITE和DOORBELL信息我也能收到,那为什么他发送的response信号我收不到呢?
Nick Zhang~:
回复 user4664208:
FPGA没有发送Response包给dsp
user4664208:
回复 Nick Zhang~:
你好,感谢回答。我问了做FPGA端的人FPGA默认发了一个response,我这边也显示DOORBELL信息发送完成,只是此时的寄存器值变成上述情况,发送下一个数据的时候就会卡在上面,你知道是什么情况吗?