各位专家,
EVM板卡是通过AMC to pcie adapter接到电脑主板上的,想实现PC内存与DSP的outbound region数据交换。
设置OB_SIZE=1MB,现在配置outbound region 0(0x6000_0000)映射到PC内存中的一个位置(假设为0x1230_0000),当DSP发起outbound read时(用EDMA传输),发现传输的数据是一些随机值,并不是想要传输的数据。
下面是我的具体配置:(这里的srcAddr=0x1230_0000)
OB_SIZE=1MB;
pageBase = srcAddr & 0xFFFFFFFF;
WDC_WriteAddr32(hDev, 0, OB_OFFSET_INDEX(0), pageBase|0x1);//将pageBase|0x1写入OB_OFFSET_INDEX(0),下同
WDC_WriteAddr32(hDev, 0, OB_OFFSET_HI(0), 0x0);
PS:传输函数的代码是改写的pciedemo.c,只是把在Linux下的操作通过调用windriver中的函数转化到了Windows下的操作。
问题:
为什么测试时传输的数据是一些随机值,并不是想要传输的数据?是没有做好outbound region和PC内存的映射吗?
谢谢!