PCIE Inbound Outbound 地址配置,DMA传输

PCIE Inbound : PC端访问PCIE设备存储器时使用的地址翻译,数据包从PC-》PCIE设备,可以理解为PC为控制方

    PC端读取PCIe地址对应的设备地址 = PCIe地址  -  (IB_STARTn_HI:IB_STARTn_LO) + IB_OFFSET;  (IB_STARTn_HI 一般为0x0)


PCIE Outbound : PCIE设备访问PC内存时使用的地址翻译,数据包从PCIE设备-》PC,PCIE设备为控制方,

   PC端读取PCIe address 对应的设备地址 = PCIE设备的PCIE数据空间 (PCIE_DATA_SPACE) + PCIe address - OB_OFFSETn_HI + OB_SIZE * OB_OFFSET_INDEXn;


DSPC6678配置示例:

OB_Size = 0x0

OB_OFFSET0_HI = 0xFFF00001

OB_OFFSET_INDEX0 = 0X0

PC端的   0xFFF00000 ~ 0xFFFFFFFF 内存块对应的DSP端的地址块为   0x60000000(DSP的pcie数据域地址) ~ 0x600FFFFF


MSI中断:

将PC给PCIE设备分配的MSI Address通过outbound地址翻译,PCIE设备向MSI address 通过Outbound翻译的地址进行写入MSI_DATA触发MSI中断。

例如:假如PC给DSPC6678分配的MSI_Address为0xFEE0F00C

OB_SIZE = 0x0,

OB_OFFSET0_HI = 0xFEE00001

OB_OFFSET_INDEX0 = 0X0

DSP向地址0x60000000+(0xFEE0F00C&0x000FFFFF)写入MSI_Data即可向PC发送中断信号


DMA传输:

配置设备的DMA寄存器,将PC分配的DMA缓冲区的地址通过outbound 映射到 设备的PCIe DATA SPACE 区域,使用设备的DMA将设备的目标区域数据搬移到设备的PCIE DATA SPACE区域。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值