各位工程师大家好:
我最近在使用TMS320C6678做一个项目,需要使用PCIe与PC通信,使用EDMA3收发数据。DSP在将数据上传给PC时需要经常重新映射PCIe空间地址。
现在遇到的问题是:启动EDMA3发送数据给PC,等待IRP寄存器为1,也就是让EDMA3发送完成,清除中断。然后需要重新将PC不同的物理地址映射到PCIe相同的OB空间,然后继续使用EDMA发送数据给PC,这样传输上去的数据有问题。而如果不重新映射PCIe地址的话就没有问题,或者使用memcpy也没有问题。
我感觉是第一次EDMA完成后(IRP为1时)实际上PCIe还没有完成传输导致的。请问会出现这样的情况吗?
如果会出现上述情况,这个问题应该怎么解决呢?这问题已困惑了我很久了,还望大家帮忙解惑。