【发布时间】:2010-12-11 14:05:38
【问题描述】:
我正在使用硬件接口发送数据,这需要我设置一个DMA 缓冲区,该缓冲区需要在 64 位边界上对齐。
DMA 引擎要求缓冲区在至少 32 位边界(4 字节)上对齐。为最佳 性能缓冲区应在 64 位边界(8 字节)上对齐。传输大小必须是 4 字节的倍数。
我使用posix_memalign 来创建这样的缓冲区...
posix_memalign ((void**)&pPattern, 0x1000, DmaBufferSizeinInt32s * sizeof(int) ) )
pPattern 是一个指向 int 的指针,是我的缓冲区的开始,它是 DmaBufferSizeinInt32s deep。
我的缓冲区是否在 64 位上对齐?
【问题讨论】: