问题就是题目所述。按照 技术文档 SPRUGS6C 里第2.9.3 edma transfer examples里面配置好参数后,就是不能往0x60000000起始的地址区域写数据。当把paramsetup.dstAddr换成DDR3或者L2的地址就可以往里面写看到数据被成功搬移了进去。唯独换成0x60000000开始的地址,搬进去的始终全是0。望专家解答!谢谢。
Brighton Feng:
请尝试下面的例程:
http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/47664.aspx?pi239031348=1
PCIE例程的文档在.\doc\KeyStone_1_PCIE_STK_User's_Guide.doc
lieying fan:
回复 Brighton Feng:
我使用dsp与fpga互连,现在能看到fpga打到dsp的pcie地址段0x60000000的数据,而且我在dsp端用地址调用的方式可以取到数,但是太慢,我想用edma把数搬到ddr3上,怎么搞?
lieying fan:
回复 Brighton Feng:
我参考了www.ti.com/lit/sprugs6d,就是官网提供的pcie user guide文档,里面在用edma搬移0X60000000地址段的数据时,提供了一个例程,我使用myParamSetup.option=0x00100008这种设置,可以实现内存之间的搬移,但是如果配置源地址和目的地址为0X60000000时,就不能实现正常搬移,将myParamSetup.option修改为0x00100004,还是搬不动数,我想问一下会是edma通道选择的问题么?
yuanwen dong:
我试过pdk_C6678_xx_xx_xx_xx\packages\ti\drv\pcie\example\下面的PCIE例子,用两块C6678EVM开发板用背板相连,这个例子可以正常通信,显示传输正常。
两个C6678配置的PCIE模式应该不同,通过宏定义来区分编译,一个是PCIE服务端,另一个PCIE终端节点模式。
Best Regards
William.dong@enea.com