米联客zynq_7000开发板上有两片flash,两个flash大小都为16M,两片因此每个flash芯片的最大访问地址为0XFFFFFF。Flash写写操作指令和数据为四字节发送,其中头部为1byte inst + 1byte data。当连接大于16M的flash时就需要四个字节来描述地址,以镁光32M flashMT25QU256ABA1EW9为例,访问高16M地址需要使用扩展寄存器。
驱动发送的数据实际是写入QSPI设备控制器中,zynq的QSPI设备默认模式为传统SPI模式,该模式不支持扩展寄存器的使用,因此开发板上的flash使用两片16Mflash达到扩容目的。IO模式下支持该功能,但是IO模式需要自己控制指令内容,相当于自己操作SPI。