我正在使用zynq设备,尝试通过一段独立程序(无OS)将数据从DRAM传输到ARM外设。在示例代码中,我发现此代码声明事务的源地址和目标地址。如何从嵌入式ARM处理器的某个物理内存中分配一块内存?
volatile static u8 SrcBuffer[BUFFER_BYTESIZE] __attribute__ ((aligned (64)));
volatile static u8 DestBuffer[BUFFER_BYTESIZE] __attribute__ ((aligned (64)));
由于没有操作系统,地址的价值是什么?我该如何改变它?
如果你想要一个特定的内存区域用于特殊的东西,我建议你设置链接描述文件来保留该地区,所以它不用于其他任何东西。然后只需使用指向内存开始的指针即可。 –
也许这个例子使用DMA? – Lundin
是的,它使用DMA。 srcBuffer和DestBuffer用于DMA交易 –