验证环境
window 10 系统
vivado 2017.4
KC705 开发板
bar空间相关知识
具体可以学习下面的文章
bar空间测试
以下实验,是在 PIO example 验证 基础上做的。
xilinx官方给出的PIO example工程,默认仅使能了BAR0空间,空间大小为2K byte , 读写位宽32bit(未使能64bit)
其实这里的2K byte空间是和逻辑代码对应的,具体 见 EP_MEM.v 文件。
这样,用windriver访问的时候,访问的地址空间就是0x000-0x7ff (2K*32b)。
由于0x800已经超过2K的地址空间,所以无法正常读写。
于是手动将pcie ip的BAR0的空间改为1K,逻辑代码保持不变。
修改FPGA版本后,用windriver读写结果如下,
发现访问空间为0x0-0x3ff 这1K的地址空间,尽管逻辑代码例化了2K的ram。