This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP 与xilinx FPGA PCIE通信问题

Other Parts Discussed in Thread: TMS320C6657

自制板卡,配置连接状态如下:
C6657 DSP 和FPGA V7之间由2x PCIe连接。参考时钟100M,每x的连接速度2.55G,PCIe模式为Gen2,32bit地址宽度。DSP 为RC,FPAG为EP。

目前调试状态:
使用论坛cifae_KI_STK_Deyi中的PCIe工程,修改为PCIE_LOOPBACK_DISABLE;修改系统时钟和DDR时钟配置,修改了KeyStone_PCIE_Init_drv.c中全局变量
//remote PCIE EP registers 
CSL_Pcie_cfg_space_endpointRegs *gpPCIE_remote_EP_regs = (CSL_Pcie_cfg_space_endpointRegs*)(CSL_PCIE_CONFIG_REGS+0x2000);
未修改之前为(CSL_PCIE_CONFIG_REGS+0x3000)。
//PCIE initialize
KeyStone_PCIE_Init(&PCIE_cfg); 运行之后,可以link up,也就是可以找到设备。

在remote_EP的配置空间读取数据EP BAR的信息,可以读回正确的Vendor and Device Identification。在BAR0的寄存器写0xFFFFFFFF,可以读出BAR0的长度为0x800。

KeyStone_PCIE_Address_setup(&PCIE_cfg); 运行之后,可以看到远程的BAR0寄存器值为0x10000000, 程序会为远程的BAR0建一个outbound,outbound的 OB_OFFSET_INDEX = 0x10000001; OB_OFFSET_HI = 0x0; 相应的属性bPrefetchable = 0;bIO = 0; uiBAR_type = 0;

现在我想往BAR0的空间内写数据,我在Memory Browser中键入地址0x60000000,在这个地址上写数,但是FPGA收不到我写的数,我也看不到我写过去的数?

就以上问题TI的工作人员和调试经验的朋友给个解答!多谢!