你好,我在使用SRIO接口从DSP向FPGA进行数据传输时(每次传输1M字节的数据),前13次数据可以正常发送,当进行到14次传输时,无法把数据全部发送到FPGA,从FPGA采样的结果来看,DSP只发送了部分数据。而DSP程序则停在下面这个函数的循环中,
Uint32 Keystone_SRIO_wait_LSU_completion(Uint32 lsuNum,
Uint32 transactionID, Uint32 contextBit)
{
Uint32 uiStateIndex= LSU_state_index_table[lsuNum][transactionID]; Uint32 uiCompletionCode;
do
{
uiCompletionCode=(srioRegs->LSU_STAT_REG[uiStateIndex/8]>>
((uiStateIndex&7)*4))&0xF;
}
while((uiCompletionCode&1) != contextBit);
return (uiCompletionCode>>1);
}
查看DSP寄存器 LSU_STAT_REG_0,其Completion Code为0b001(Transaction Timeout occurred on Non-posted transaction),请问,造成这个错误的原因是什么?如何解决?谢谢
hocodrecon:
你要是改成每次传输500k字节又能传输多少次呢?
GANG ZHANG:
回复 hocodrecon:
改成20个字节,也还是出现同样的问题