远程计算机没反映6678,6678 PCIe 与FPGA LINK UP 后 不能获得FPGA的DEVICE_ID和VENDDR_ID

我用的代码模板是C:\ti\pdk_C6678_1_1_2_6\packages\ti\drv\pcie\example\sample 查相关PCIE协议在RC配置EP时是基于ID的跟地址没有关系

6678 PCIe 与FPGA  LINK UP 后 不能获得FPGA的DEVICE_ID和VENDDR_ID 求大神指导

1.配置DSP为RC ,FPGA为EP

2.本地配置寄存器配置如下:

/* Configure Address Translation */

barCfg.location = pcie_LOCATION_LOCAL; //配置本地的配置寄存器

barCfg.mode = pcie_RC_MODE;

barCfg.base = 0x70000000;//PCIE_IB_LO_ADDR_M;

barCfg.prefetch = pcie_BAR_NON_PREF;

barCfg.type = pcie_BAR_TYPE32;

barCfg.memSpace = pcie_BAR_MEM_MEM;

barCfg.idx = PCIE_BAR_IDX_M;//指定翻译区域1

if ((retVal = Pcie_cfgBar(handle, &barCfg)) != pcie_RET_OK)

{

System_printf ("Failed to configure BAR (%d)\n", (int)retVal);

exit(1);

}

3.配置输入地址转换

/* Inbound 端 使用翻译区域0 32位起始地址:0X90000000 偏移地址位:(0XdstBuf.buf地址)0x00809C00 PCIE:0X90000000 */

ibCfg.ibBar = PCIE_BAR_IDX_M; /* Match BAR that was configured above*/ //使用的是BAR1也可以使用 2,3,4,5 BAR0是给EP的配置空间

ibCfg.ibStartAddrLo = PCIE_IB_LO_ADDR_M;//0x90000000

ibCfg.ibStartAddrHi = PCIE_IB_HI_ADDR_M;//0x00000000

ibCfg.ibOffsetAddr = (uint32_t)pcieConvert_CoreLocal2GlobalAddr ((uint32_t)dstBuf.buf);

ibCfg.region = PCIE_IB_REGION_M; //指定翻译区域0 也可以

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值