【发布时间】:2020-04-07 14:17:24
【问题描述】:
我有一个 uint8 数组,我需要将此数组的指针传递给 DMA,它一次传输 16 个字节。因此,要求是数组地址是 16 字节对齐的,例如 32'hxxxxxx00 - 最后两个地址编号为 0。 我声明一个全局数组如下:
u8 R00_PRO_ADDR[0x64000] __attribute__ ((aligned(16)));// 16 bytes address aligned
但是,在运行时,我看到数组的地址是 32'hxxxxxxx0。我也尝试过 (aligned(128)) 但得到相同的结果。
这是 Vivado SDK Cortex A53 特有的
【问题讨论】:
-
如果你使用
alignas(16) u8 R00_PRO_ADDR[0x64000];会发生什么?