1、说明

我只是以一个硬件工程师的身份,站在使用者和应用层的角度,来把自己使用这个FLASH芯片过程遇到的问题、以及在这些过程中看其他博主写的资料遇到的困惑,在自己花了一点时间学习整理了这个记录下来,如果有什么纰漏和错误之处,请各位指出,如果有帮助到你,也不要吝啬你的点赞。另外我的知识面有限,以目前的水准写的东西,如果后面发现有不妥的地方,我会及时来更正。
以下内容数据来自华邦的数据手册和自己的总结,对W25Q80、W25Q16、W25Q32、W25Q64、W25Q128、W25Q256、W25Q512均适用。

2、FLASH芯片的厂家有哪些

目前我就接触到了华邦的flash芯片,包括(W25Q80、W25Q16、W25Q32、W25Q64、W25Q128、W25Q256、W25Q512等)。其他的厂家暂时不说明。

3、我在使用这些FLASH芯片时遇到的困惑

3.1、W25QXX系列FLASH的块儿、扇区、页、字节之间的关系到底是啥?

  • 所有W25QXX系列FLASH相同点
    • 不同型号的flash有不同数量的块儿,W25Q16有32块儿,W25Q32有64块儿,以此类推;详细见本文“ 3.2、W25QXX系列FLASH芯片不同型号的相同点和区别是啥?”
    • 1块儿 = 16扇区
      • 1块儿 = 16 * 16 * 256字节(Byte)= 65536Byte = 64KB(65536Byte/1024=64KB)
    • 1扇区 = 16页
      • 1扇区 = 16 * 256(Byte)= 4096Byte = 4KB
    • 1页 = 256字节

3.2、W25QXX系列FLASH芯片不同型号的相同点和区别是啥?

所有芯片相同点:
1、1块=16扇区;1扇区=16页;1页=256字节;
2、 FLASH芯片只能按扇区、块为单位擦除,或者是全片擦除。写可以1~256字节写,一次最多写256字节 。
不同点:
1、W25Q16有32块儿、W25Q32有64块儿、W25Q64有128块儿、W25Q128有256块儿、W25Q256有512块儿、W25Q512有1024块儿;
2、W25Q16、W25Q32、W25Q64、W25Q128的内存地址为3字节(3x8=24bit);但是W25Q256和W25Q512的内存空间地址为4字节(4x8=32bit);需要注意:因为这个内存空间地址字节数不同,我们在写W25Q256和W25Q512的驱动时,前面的几种型号芯片程序就无法和这两个芯片的驱动直接兼容,需要修改指令后跟的地址(由原来的三字节改为四字节)才行。

3.3、W25QXX系列FLASH芯片的容量到底是个啥情况?

  • 不同型号的块儿数量、内存容量、内存空间地址
    • W25Q80有16个块儿,共16*65536 = 1048576 Byte;1048576/1024/1024 = 1MB,寻址空间:0x000000~0x0FFFFF;
    • W25Q16有32个块儿,共32*65536 = 2097152 Byte;2097152/1024/1024 = 2MB,寻址空间:0x000000~0x1FFFFF;
    • W25Q32有64个块儿,共64*65536 = 4194304 Byte;4194304/1024/1024 = 4MB,寻址空间:0x000000~0x3FFFFF;
    • W25Q64有128个块儿,共128*65536 = 8388608 Byte;8388608/1024/1024 = 8MB,寻址空间:0x000000~0x7FFFFF;
    • W25Q128有256块儿,共256*65536 = 16777216 Byte;1677216/1024/1024 = 16MB,寻址空间:0x000000~0xFFFFFF;
    • W25Q256有512块儿,共512*65536 = 33554432 Byte;33554432/1024/1024 = 32MB,寻址空间:0x00000000~0x01FFFFFF;
    • W25Q512有1024块儿,共1024*65536 = 67108864 Byte;67108864/1024/1024 = 64MB,寻址空间:0x00000000~0x03FFFFFF;

3.4、W25QXX系列FLASH芯片不同型号的ID是啥?

  • 特性3
    • W25Q80的芯片ID为:0XEF13
    • W25Q16 的芯片ID为:0XEF14
    • W25Q32 的芯片ID为:0XEF15
    • W25Q64 的芯片ID为:0XEF16
    • W25Q128的芯片ID为:0XEF17
    • W25Q256的芯片ID为:0XEF18
    • W25Q512的芯片ID为:0XEF19

3.5、W25QXX系列FLASH芯片读写操作到底怎么操作?

这里我先留个坑吧,我还没想好怎么把这以系列的写出来还不会显得乱七八糟的。毕竟这篇文章只是说明FLASH芯片的相关只是的对吧哈哈哈。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐