pcie 的bar和dma bar2

设备在系统的PCI地址空间里申请一段来用,所申请的空间基址和大小保存在BAR寄存器里。
 
BAR里的只是PCI域的地址空间,需要映射到IO地址空间里或者内存地址空间里之后软件才能使用
。
 
映射到IO空间的话,用IO读写指令和函数去访问设备;映射到内存空间的话,首先得到的是物理地址,映射到虚拟地址后就可以像用指针那样访问。
 
IO BAR和MEM BAR分别是映射到IO空间和内存空间的BAR;BAR寄存器的0位指示要映射到哪,有的设备这位可以由用户设置,有的只读。
 
每个BAR具体干嘛是设备自己定义的,要看手册。

PCI Express 内核保留了系统地址空间,其可具有高达8 个参考基址寄存器(BAR)。每个BAR 存储参考存储器段的开始地址。标准的PCI Express 应用一般使用 BAR0 和 BAR1 作为链路的标准参考。您也可以规定其它BAR 来替代。

       BAR0 和 BAR1 用于参考DDR2 SDRAM 存储器。BAR2 用于参考受应用逻辑监控的DMA 寄存器。这就使得Root Complex 可以通过写BAR2 来写 DMA 寄存器。这样,便可实现从Root Complex 发起 Endpoint 处理。这便是本设计写DMA 寄存器的方法。

      ****摘自altera公司pcie core说明书****

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值