大家好:

        我想请教下PCIe全双工传递数据的问题,需要实现的是DM8168通过PCIe传递给C6678EVM处理的同时将以前处理好的数据收回来。

        现在实现的情况是:DM8168的A8核的ipcBitsOut Link获取数据并传输给C6678,使用了ioctl()函数:ioctl(fd, C6678_PCI_TRANS_DATA, &phyaddr),以及ioctl(fd, C6678_PCI_GET_DATA, &phyaddr);前者是负责将数据通过PCIe传送给C6678,后者是负责将数据从C6678取回来。现在单方向传输是可以实现的:也就是先调用ioctl(fd, C6678_PCI_TRANS_DATA, &phyaddr)传输数据传到C6678等待处理,再调用ioctl(fd, C6678_PCI_GET_DATA, &phyaddr)将数据取回来。那么我的问题是:如果要实现全双工的话岂不是这两条ioctl语句都必须要同时执行?这在C语言上是不可能实现的啊?

         求助各位大神实现上述全双工模式传输数据的方案,不胜感激。