我们正在使用 TMS320C6457、它使用 SRIO 接口与其他器件交换不同类型的数据包(差分长度)。 我们仅使用一个 LSU 和我们的硬件配置
不允许我们使用多个。
我们处理未过帐的写入操作(nwrite_r)、但遗憾的是、我们遇到了严重问题:
有时、我们必须从 DSP 向另一器件发送两个长度不同的数据包以及不同的目标地址。 第一个分段分为4个分段。 如果同时我们必须发送第二个数据包、则在 发送之前、根据 sprugk4d、我们会检查 BSY = 0 (CSL_SRIO_QUEST_LSU_BSY_STAT = 0)。
遗憾的是、第二个数据包不会发送到目的地址、因为第一个数据包传输似乎没有完全传输(4个数据段)。
我们知道我们应该查询完成代码寄存器((CSL_SRIO_QUEST_LSU_COMP_COMP_CODE_STAT)、但似乎、当我们成功发送数据包时、完成代码读取并不总是"000"!
因此、从我们的角度来看、它不可靠、如果我们尝试使用它、我们将找不到"000"代码。
我们如何确保数据包传输完全结束并且可以发送第二个数据包?
你有什么建议吗?
提前感谢您。
此致、
Barbara Maifreni