pcie BAR
时间:10-02
整理:3721RD
点击:
在调用PCIE IP核的时候需要设置BAR。这个BAR到底是什么?有什么用?怎么去设置呢?
这是你这个pcie设备在系统里的访问基址,系统会自动分配给你的
BAR就是BASE ADDRESS REGISTER,是配置空间中的一个寄存器。
在设置PCIE的时候,你在BAR中填写该空间需要多大,比如256M。你程序烧进去,计算机启动的时候,BIOS、操作系统会从配置空间中读取该值,然后从PCIE的总线地址空间中分配一个起始地址,并将该地址写回到BAR中。
简单地说,如果你是做FPGA的,那么这个BAR填好就行,这个起始地址主要是给计算机上的程序或者说驱动用的。比如在X86 WIN7系统下,你分256M,我记得一般地址可能是0xFF000000,那么驱动要给你FPGA的地址为0X100的地方写个数,就会访问0xFF000100。不过我不记得你是否要知道BAR这个起始地址了。程序搞得太久,忘了。
FPGA基本不用BAR,是给PC机用的
不用,但是调用IP你要设置啊!总不能随便设置把
学习了,很有用,谢谢
学习了,谢谢你
BAR是base address register。
如果没有主机,这个地址应该就是自己随意设置的。
从这个地址开始的一段地址空间,称为BAR空间。PCIE从设备中的寄存器会映射到BAR空间中。
可通过这个BAR的值加上偏移量来访问设备中的寄存器。
具体BAR的个数,大小。需要看你从设备使用的是什么,它的协议里是如何定义的。
您好,我正在使用altera的PCIe hard core,在altera的参考设计中,使用了BAR4,其type是64bit可预取memory,它的size只有17bit,这个17bit怎么理解呢?
