【发布时间】:2017-04-28 01:18:33
【问题描述】:
我正在尝试制作自己的 pcie 卡。我使用带有用于 pci express 的 spartan 6 集成块的 xilinx spartan 6 sp605 板。我的目标系统是 ubuntu 16.04。当我执行 lspci 时,我的计算机正在看到 pcie 卡,但我无法从 pcie 卡读取内存。我使用这个工具我发现无需制作驱动程序就可以从设备中读取内存,
https://github.com/billfarrow/pcimem/blob/master/README
我使用 spartan 6 集成块附带的示例代码,使用以下代码从 pcie 卡写入内存
wire [31:0] data_reg;
wire [10:0] add_reg;
assign add_reg = 11'b00000000000;
assign data_reg = 32'b00001111111111111111111111111111;
PIO_EP_MEM_ACCESS EP_MEM (
.
.
.
// Memory Write Port
.wr_addr_o(add_reg), // O [10:0]//wr_addr
.wr_be_o(wr_be), // O [7:0]
.wr_data_o(data_reg), // O [31:0]//wr_data
.wr_en_o(wr_en), // O
.wr_busy_i(wr_busy) // I
);
然后我使用 ./pcimem pciesystemfile/resource0 0 w
验证 00001111111111111111111111111111 已写入内存,但它不存在我正在读取 111111111111111111111111111111111 代替
对我可能做错的任何帮助将不胜感激
先谢谢了!
【问题讨论】: