PCIE通信-关于EP使用DMA直接上传数据到RC?

scv213 2021-02-23 06:59:14
在飞腾2000上挂了一个PCIE接口的fpga,fpga做ep,然后fpga使用dma直接主动上传数据到飞腾的DDR中。 目前我在cpu端分配了4k可供dma操作的物理内存,是否直接将此物理地址设置到fpga的dma控制器中,并初始化启动dma即可实现上述功能?(cpu端采用Linux系统)
...全文
1246 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Happy_Enger 2021-04-07
  • 打赏
  • 举报
回复 2
首先确保飞腾作为RC,是否把物理地址全部 INBOUND,这个需要问技术支持,没有对外开放接口,应该是默认映射好了;其次,确保EP端本地一片物理地址OUTBOUND到PCI域,一般情况下是相等的;比如RC端分配的物理内存地址是0x1000, EP端这边分配了一个物理地址0x2000 映射到PCI域的0x1000, 那样,EP只需要访问0x2000就可以操作RC的0x1000内存了。所以,DMA设置的是EP本地映射的物理地址。

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧