1.SPI Flash循环存储功能
本文实现的功能为在不使用文件系统的情况下,通过CH32V3xx MCU 控制 gd25qxx SPI Flash实现设备记录的循环覆盖存储功能。
- 关于gd25qxx SPI Flash的驱动程序可以参考我的另一篇文章《CH32V3xx SPI Flash GD25Q32驱动》
- gd25qxx SPI Flash 的存储特性
- 非易失性存储:数据在掉电后不会丢失,能够长期保存;
- 按扇区 / 块擦除:在写入新数据之前,通常需要以扇区(sector)或块(block)为单位进行擦除操作。扇区和块的大小因具体的器件型号而异。
- 有限的擦写次数:SPI Flash 具有一定的擦写寿命,经过多次擦写后可能会出现性能下降或失效。一般在10万次左右;
如果在同一地址高频次重复擦写,会严重影响 Flash 使用寿命。我们采用这种循环覆盖的存储方式,能让各个扇区均衡使用,有效延长其寿命。
实现思路:
在存储过程中,通过一个全局变量