相比较传统各种flash存储方案, 都是比较大的, 因此本人开发一个只针对STM32的小型存储系统
- 真的很小
- 所占空间真的不大
- 拿开直接就可以用
- 存储灵活性高
- 目前只能用在STM32的芯片上面
- 根据需要存储的变量选择页
特点:
- 4字节为存储的最小单元
Node
包含头
、数据
、头
头 |
---|
数据 |
尾 |
头
占4字节,前两字节为数据部分的字节数, 后两字节0x01
表示是头
尾
占4字节,前两字节为数据部分的字节数, 后两字节0x04
表示是尾
数据
占n字节,表示实时存储的数据页
由很多Node
组成
第xx页 |
---|
Node1 |
Node2 |
Node2 |
- 当数据存满了之后就要擦除掉重新再存
- 读取的时候从后往前读取最新的
Node
修改leaf_flash.h
要用到的芯片的页大小, 和要用到的页的首地址
如果要用测试例程, 取消这个注释
- 使用的时候加入头文件
#include "leaf_flash.h"
- 申明要存储变量的起始页地址和要占的页数如
L_node test1 = {PAGE122, 1};
- 调用
Write_LeafFlash()
写 - 调用
Read_LeafFlash()
读 - 详情请参考
leaf_flash.c
的参考例程