单片机---HLK-W801外部扩展flash

背景介绍

今天想扩展一下Flash存储,用了一片常用的W25Q64的芯片,通过SPI接口方式,与W801进行连接,并进行数据存储和读取。

Flash基础知识

页:Page
扇区:Sector
块:Block

以W25Q128为例:128Mbit =16MB的大小
每页256字节,共65536个页。
每个扇区16页=4KB;
每个块可以是32KB,64KB。

块是上层软件中(操作文件时)使用的最小的操作单元,就是(操作文件时)一个块一个块进行操作(块的大小格式化时可以设置【如linux、fatfs等等】)。

擦除可以按16页(即一个扇区擦除,4K)、按128页擦除(32KB块擦除)、按256页擦除(64KB块擦除)或者整片擦除。

每次编程数据为256字节。

驱动W25Q64

我用的是W25Q64,是一个8MB的flash,W801源码中,有一个gd25qxx的驱动,基本是可以通用的,但是有两个问题,需要解决。

读取ID失败,W25Q64的读ID指令是0x90,所以我这里增加了一个宏定义开关

static int 

你可能感兴趣的:(单片机,IOT,C语言典型代码,w801,SPI,flash,w25q64,驱动)