stm32使用SPI对W25Q64--8M字节FLASH的读写

原创 2014年09月16日 22:51:26


先W25Q64介绍:

板上有个带SPI的FLASH产品,W25Q64,华邦公司,大容量64Mb的,也就是8M字节,

(W25Q64把这个8M的容量分为128块-Block,每块64K字节,分出16个扇区,每个扇区4K字节)

即就是:W25Q64--8M  一个块--64K   一个扇区4K

最小擦除单位为一个扇区

 

关键点---这样我们需要给W25Q64开辟一个至少4K的缓存区,这样对SRAM要求比较高,要求芯片必须有4K以上SRAM才能很好的操作。(嗯,要开辟缓存区)

 

至于W25Q64的擦写周期10W次、数据保存期限20年,随便用就是了。

支持电压2.7~3.6V,直接用给stm32供电的3.3V即可,不多说。

 

W25Q64还有一点参数:支持标准的SPI,还支持双输出/四输出的SPI,最大SPI时钟可以到80Mhz(双输出时相当于160Mhz,四输出时相当于320M),更多的W25Q64的介绍,请参考W25Q64DATASHEET

 

嗯,我们的stm32可以用,先用着。

 

stm32对W25Q64

读FLASH的时候,按地址,及要读的长度,读出来放在数据存储区即可

写FLASH的时候,要考虑扇区剩余大小,写的数据长度控制

if(NumByteToWrite<=secremain)secremain=NumByteToWrite;//

并且,里面已经有数的话,要先擦除这个扇区再写,

 

实际代码,参考stm32战舰例程

STM32F103的W25Q64的DMA高效数据访问实现

STM32F103的W25Q64的DMA高效数据访问实现 1. 关于DMA 首先任何FLASH的写操作都是非常耗时的,体现在擦除FLASH上,且写操作不能太频繁,故而用DMA方式实现写操作程序逻辑...
  • wanxuncpx
  • wanxuncpx
  • 2013年09月11日 11:45
  • 4713

SPI对外部w25Q64的读写

SPI ****************************************************** 1.SPI是串行外围设备接口。SPI的接口主要应用在EEPROM,   FL...
  • Osean_li
  • Osean_li
  • 2016年08月27日 15:25
  • 2375

FATFS移植、调试过程(在STM32上使用W25Q64)

花了几天的时间好不容易自己移植好了FATFS,以前一般都是用别个现成的东西,真的自己移植还是有一点点的操蛋。 移植FATFS其实不难,当然这是对于一个成功移植好的人来说。FATFS移植资料网...
  • Jun626
  • Jun626
  • 2017年06月09日 10:41
  • 1656

stm32 SPI-FLASH W25Q64

The W25Q64BV array is organized into 32,768 programmable pages of 256-bytes each. Up to 256 bytes ca...
  • zhangxuechao_
  • zhangxuechao_
  • 2017年08月22日 15:32
  • 621

W25Q64简介(译)

W25Q64是华邦公司推出的大容量SPI FLASH产品,其容量为64Mb。该25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件。W25Q64将8M字节的容量分为128个块,每个块大小为64...
  • GongchuangSu
  • GongchuangSu
  • 2015年05月08日 10:29
  • 7038

SPI FLASH_W25Q64驱动 代码

#include "flash.h" #include "spi.h" #include "delay.h"    #include "usart.h"    /////////////...
  • zongguo
  • zongguo
  • 2013年06月14日 21:26
  • 9088

STM32_SPI_W25Q64

W25Q64:一共是8M字节=8*1024*1024=8388608(Byte),分为128块(64K),每一块有分为16个扇   区(4K),所以扇区的个数是:128*16=2048(个),那么上...
  • weixin_41523583
  • weixin_41523583
  • 2018年01月30日 14:40
  • 13

flash-W25Q32BV的读写

调试了两天的flash,测试应该是没问题的了。在调试中发现,1、擦除的是时候最小是4k擦除,擦除是擦除我们给的地址所在的4k空间;2、写入数据时,如果地址在4k空间的尾部时,当写入长度跨过了4k空间,...
  • u010832976
  • u010832976
  • 2016年04月05日 23:02
  • 2475

Linux spi驱动分析(四)----SPI设备驱动(W25Q32BV)

本文作为SPI驱动的第四篇文章,讲述了W25Q32BV驱动。
  • apple_guet
  • apple_guet
  • 2014年03月18日 11:21
  • 6231

W25QXX代码优化版(STM32F103版本)

  • 2016年08月08日 07:58
  • 13KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:stm32使用SPI对W25Q64--8M字节FLASH的读写
举报原因:
原因补充:

(最多只允许输入30个字)