各位专家前辈,你们好:
我目前在调试C6678 EVM板卡与PC(Win7 64)的PCIE接口,板卡插在PC机中,用Win DDK写了一个WDM模型的驱动程序,想实现DSP直接访问PC的内存。
遇到的问题是:
在PC机的驱动程序中得到了DMA缓冲区的物理地址( 例如: 0x0FE10000 )和长度,并将其发送给了DSP,请问DSP中该如何设置才能实现对该内存区的直接访问?
现在的情况是,如果直接设置Outbound到0x0FE10000,显示设置成功,但DSP对该区域读写时电脑会发生蓝屏。
另外,请问DSP以DMA方式访问PC内存时,DSP可以访问PC的任意内存区域,还是只能访问到与PCI BAR空间对应的内存区域?
这个问题已经困扰了好长时间,查到的资料基本都是Linux PC与板卡通信,很少有关于Windows PC与板卡通过PCIe通信的讨论。求各位专家 前辈 同行帮忙指点一下,谢谢了!
附:我的Windows PC上显示的C6678 EVM板卡的BAR空间为:
BAR 0: 0xF7C00000 0x100000
BAR 1: 0xF1400000 0x80000
BAR 2: 0xF1000000 0x400000
BAR 3: 0xF0000000 0x1000000
BAR 4: 0xF1490000 0x1000
BAR 5: 0xF1480000 0x10000