使用四字节命令读写256Mb QSPI Flash

来源:互联网 发布:小米2s改装4g网络 编辑:程序博客网 时间:2024/06/10 07:20

原文地址:http://group.chinaaet.com/109/78379

在手册中,Zynq QSPI flash 控制器只支持3字节的地址,因此只支持最大128M bit的QSPI flash。 如果要支持更大的flash,需要使用QSPI flash中的bank寄存器。SDK 14.6的驱动就是采用这种模式。
 
使用bank寄存器,会带来副作用。Zynq内部的BootRom不支持bank寄存器,不会设置bank寄存器。如果在操作非0的bank时复位,BootRom从QSPI Flash读取FSBL就会失败。这种情况,可以使用复位信号对QSPI Flash进行复位,使其内部的bank寄存器也复位为0。另外一种办法,是使用新的QSPI Flash命令,使用四字节地址读写Flash。
 
本文使用Zed板上的Spansion S25FL256S 器件做测试。“12h” 是支持四字节地址的写命令; “13h”是支持四字节地址的读命令。在Zed板上,这两个命令,都工作正常,可以读写数据,而且不影响Zynq启动。