1. 实验目标与系统架构解析
W25Q64 是一款基于 SPI 接口的 8MB(64Mbit)串行 NOR Flash 存储器,采用标准四线 SPI 协议(CS/CLK/DO/DI),支持快速读取、页编程和扇区擦除操作。在嵌入式系统中,它常被用作非易失性数据存储介质,替代传统 EEPROM 或外部 FRAM,尤其适用于需要断电保持状态、固件参数存储、日志记录等场景。
本实验构建了一个典型的“状态持久化”应用:通过一个物理按键控制板载 LED 的亮灭状态,并将该状态实时写入 W25Q64;系统上电复位时,自动从 Flash 中读取上次保存的状态并恢复 LED 的初始输出。整个流程覆盖了 GPIO 控制、外部中断驱动、SPI 主机通信、Flash 操作时序及系统初始化顺序等核心嵌入式开发环节。
该设计的关键价值在于其工程普适性——它并非一个孤立的演示,而是嵌入式产品中极为常见的功能模块:设备配置项(如背光亮度、音量等级、网络 SSID 密码)、用户偏好设置、传感器校准参数、运行计数器等,均需在掉电后可靠保存。W25Q64 在此扮演了低成本、高可靠性的“系统记忆体”角色。其 3.3V 工作电压、-40°C~85°C 宽温范围及百万次擦写寿命,使其成为工业控制、消费电子及物联网终端的理想选择。
值得注意的是,本实验并未采用文件系统(如 FatFS),而是直接进行字节级的裸 Flash 操作。这种方案牺牲了数据组织的灵活性,但极大降低了资源开销与复杂度,对 RAM 仅数十 KB、Flash 空间紧张的 Cortex-M0/M3 微控制器尤为友好。开发者需自行管理地址空间、避免跨页写入、处理擦除前置条件等底层细节——这正是深入理解存储子系统工作原理的必经之路。