微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > pcie BAR

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怎么理解呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top