为什么SOPC中的PCIe访问不正确的系统内存地址?

如果您在SOPC Builder和PCIe核行为使用的PCIe®酷睿作为请求者,你可能会遇到PCIe核访问不正确的系统内存地址的问题。可能的原因是系统存储器地址低位不写入Avalon-MM到PCIe地址转换表寄存器。

例如,如果将地址转换表字段中的地址页面大小配置为1MByte(20位),则Avalon-MM到PCIe地址转换表寄存器的最低20位不可写。如果器件驱动程序分配的系统内存地址的最低20位不为零(0x8001_0000),则必须将其附加到PCIe TX从端口的TxsAddress_i。否则,PCIe内核将访问等于实际系统内存地址的地址,最低20位保持为零(0x8000_0000)。在这种情况下,您可以将最低20位(0x1_0000)附加到TxsAddress_i端口以解决此问题。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-17 21:06:32 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它