网上看到了一个文章一开头就写W25Q256有256Mb大,我算了一下午才算出来256M真是害人,
W25Q256是32M大小的。
256是指一页(最小的操作单位)有256字节。
16*256/1024=4KB,我们称之为一个扇区。
16*4kb=64kb 我们称之为一块。
所以 有512块的这个芯片内存是32M。
操作这个SPIflash芯片本身配置都没有什么难度,网上大把的例程,指令也就几个。
我整理一下寻址方式。因为他有131072页,我们是如何找到对应的每一页的。
W25Qxx系列支持两种地址模式— 三个字节或四个字节地址。三字节地址向后兼容小容量flash,最大支持128Mb的数据地址,256M必须使用扩展的4字节地址。4字节地址格式支持256Mb~32Gbit,4字节模式使能的时候扩展地址寄存器不是必须的。上电后工作在3字节地址模式还是4字节地址模式取决于Non-Voloatile Status Register 寄存器ADP位(S17),ADP=0 3字节地址格式,ADP=1 4字节地址格式,默认的是三字节地址格式。进入4字节命令0xB4、退出4字节命令0xE9 在3字节和4字节之间转换。S16状态寄存器的ADS位指示当前使用的地址模式。
这样看就很简单了
最高因为256kb已经大于128kb所以256必须四位寻址。
高16位是块地址,0000h——01ffh可以计算一下1ffh正好是511.
低16位的高8位的高四位是扇区地址 低4位是页地址。
同理再看一下W25Q128的原理图。