您好,我现在想通过SRIO实现TMS320C6678与Xilinx-v5之间的数据通信,用到的是Keystone例程。在调试过程中遇到一些问题,请您帮忙解答。
Keystone_SRIO_match_ACK_ID(2,DSP1_SRIO_BASE_ID, 2);这个函数体里面的uiResult= Keystone_SRIO_Maintenance(uiLocalPort, uiLocalPort,
uiDestID, 0x148+(0x20*uiRemotePort), GLOBAL_ADDR(&uiMaintenanceValue),
SRIO_PKT_TYPE_MTN_READ);
这个函数的参数 0x148+(0x20*uiRemotePort)这个参数应该是发送的destid,但是它是怎么计算得到的呢?是对应寄存器的地址吗?
searKing chan:
回复 Zhan Xiang:
您好,谢谢您的解答。我现在实现了DSP对FPGA 的写的功能,而NREAD出现问题,接收不到,请问怎么确定DSP接收到对方数据呢?有标志吗?
David Yang:
回复 Zhan Xiang:
你好,我也在用c6678与v5测试srio的通信,同样卡在Keystone_SRIO_Maintenance这里。DSP作为主动方调用keystone_srio_match_ack_id函数,结果卡在Keystone_SRIO_Maintenance无法向下执行。Keystone_SRIO_Maintenance函数中调用的LSU_completion无法返回正确的completionCode,返回值是7而不是0。
我想请问一下,Keystone_SRIO_Maintenance是发起对对面寄存器的读写Maintenance操作,如果对面是FPGA,这个函数还能用吗??另外,ACKID是不是在初始化的时候设置一遍就可以了,还是它每次发送包的时候都会自己累加??
xin jin2:
回复 searKing chan:
您好!
已调试完成DSP之间的SRIO。
我在调试DSP给FPGA发数据,函数中OFFSET应该如何设置?
Mark:
回复 David Yang:
你好,请问你的这个问题解决了吗,我现在也卡在这个地方了。程序一直跳不成keystone_srio_match_ack_id函数。我是用6678和v5的fpga通信,不知道直接用论坛提供的DSP到DSP直接的程序行不行,DSP做主设备。如果你现在调通了,能告诉我一下怎么修改程序吗,非常感谢!
Mark:
回复 searKing chan:
你好,请问你的DSP通过SRIO对FPGA的写是怎么实现的,是不是用的论坛上的DSP与DSP直接通信的程序,怎么修改的啊,除了修改device id和port,还需要修改什么啊。我现在一直卡在ack id match的地方,不知道怎么修,谢谢