ハードウェア インターフェイスを使用してデータを送信していますが、 DMAバッファを設定する必要があり、64 ビット境界に揃える必要があります。
DMA エンジンは、バッファが少なくとも 32 ビット境界 (4 バイト) に配置されていることを想定しています。最適なパフォーマンスを得るには、バッファーを 64 ビット境界 (8 バイト) に揃える必要があります。転送サイズは 4 バイトの倍数でなければなりません。
私はposix_memalign
このようなバッファを作成するために使用します...
posix_memalign ((void**)&pPattern, 0x1000, DmaBufferSizeinInt32s * sizeof(int) ) )
pPattern
intへのポインタであり、DmaBufferSizeinInt32s
深いバッファの開始です。
バッファーは 64 ビットでアライメントされていますか?