` `Zynq7021有1G的DDR,PS和PL都可以对DDR进行访问。PS端对DDR的读写,在Xil_io.h文件中,使用Xil_Out函数可以向 DDR写入数据,使用Xil_In函数可以从DDR读取数据。但是要注意ARM的二级缓存问题。
## 大端存储和小端存储
` `在CPU内部的地址总线和数据总线是与内存的地址总线和数据总线连接在一起的。当一个数从内存中向CPU传送时,有时是以字节为单位,有时又以字(4字节)为单位。传过来是放在寄存器里(一般是32字节),在寄存器中,一个字的表示是右边应该属于低位,左边属于高位,如果寄存器的高位和内存中的高地址相对应,低位和内存的低地址相对应,这就属于小端存储。反之则称为大端存储。大部分处理器都是小端存储的。
` `因为十六进制的2位正好是1字节,所以选十六进制0x0A0B0C0D为例,如图2-1所示,对小端存储,低位是0x0D,应存入低位地址,所以存入的顺序是`0x0D 0x0C 0x0B 0x0A`。反之,对于大端存储则为`0x0A 0x0B 0x0C 0x0D`。
![](https://img.kancloud.cn/f4/7e/f47e5e2d4a028a7d97d3b959f951092e_1249x765.png)
## zynq的存储方式
` `验证zynq存储方式:
```
/**
* PS对DDR的读写,以及验证设备是属于大端存储还是小端存储
*/
void DDR_PS_TEST()
{