我正在使用硬件接口发送需要设置DMA缓冲区的数据,该缓冲区需要在 64 位边界上对齐。
DMA 引擎期望缓冲区在至少 32 位边界(4 字节)上对齐。为获得最佳性能,缓冲区应在 64 位边界(8 字节)上对齐。传输大小必须是 4 字节的倍数。
我posix_memalign
用来创建这样的缓冲区...
posix_memalign ((void**)&pPattern, 0x1000, DmaBufferSizeinInt32s * sizeof(int) ) )
pPattern
是一个指向 int 的指针,并且是我的DmaBufferSizeinInt32s
深缓冲区的开始。
我的缓冲区是否在 64 位上对齐?