TI中文支持网
TI专业的中文技术问题搜集分享网站

K2 EMDA通过PCIE总线访问FPGA寄存器域不成功

FPGA的BAR0 是0x54000000(寄存器区域), BAR1是0x50000000(DDR4)
我写了一个测试程序, 源地址设置成0x50000000,通过EDMA搬运DDR4数据是成功的。 但是设置成0x54000000,寄存器区域内容怎么都拷贝不过来, 但是中断又是产生了。
K2用的是LINUX内核,用于拷贝内容的缓冲是从ZONE_DMA区域分配。   
iowrite32 (temp, &hObj->regs->param[0].opt);
iowrite32(0x56000000, &hObj->regs->param[0].src); 
temp = EDMA3_CNT_MAKE(numXfr, 4); 
iowrite32(temp, &hObj->regs->param[0].a_b_cnt);
iowrite32(dmaphydst, &hObj->regs->param[0].dst); 
temp = EDMA3_BIDX_MAKE(numXfr, numXfr); 
iowrite32(temp, &hObj->regs->param[0].src_dst_bidx);
iowrite32(EDMA3_LINKBCNTRLD_MAKE(0xffff, 0), &hObj->regs->param[0].link_bcntrld);
temp = EDMA3_CIDX_MAKE(1, 1);
iowrite32(temp, &hObj->regs->param[0].src_dst_cidx);
iowrite32(1, &hObj->regs->param[0].ccnt);
David zhou2:

iowrite32(0x56000000, &hObj->regs->param[0].src);->
iowrite32(0x54000000, &hObj->regs->param[0].src); 

这里面K2 RC的OB address从0x50000000~0x5fffffff。 跟FPGA的PCI address是一一对应的。

Allen35065:

回复 David zhou2:

是不是因为权限的问题无法访问?对于DSP访问对方寄存器还是内存没有什么区别。

赞(0)
未经允许不得转载:TI中文支持网 » K2 EMDA通过PCIE总线访问FPGA寄存器域不成功
分享到: 更多 (0)