通用STM32 F1/F4 FlashKV驱动库

把自己项目里用的一个STM32片上Flash存储库拿出来开源了,地址在最后。

  • 适合学生做课程设计、毕设,需要存点参数掉电不丢,拿来直接用,几行代码搞定。

  • 做产品的工程师,存校准值、序列号、WiFi密码、PID系数这些,不用自己维护地址表,按名字增删改查就行。

  • 搞Bootloader,在APP和Bootloader之间传升级标志、固件版本,划个独立区域互不干扰。

主打轻量化。没有复杂文件系统,不依赖外部存储芯片,直接操作片上Flash。RAM索引表大小可配置(默认64条记录),资源紧张的MCU也能跑。如果你需要完整的事务日志、磨损均衡或者加密这些重型功能,那它有更合适的选择;如果只是想轻量地存几十条配置参数,不折腾、够用就行,那这个库应该对胃口。

特点:

  • 掉电安全:写一半断电不会坏数据,重启自动忽略不完整的记录。

  • 管理方便:每条记录带个描述符,查询删除直接按名字来。

  • 能压缩回收:写满了可以按规则清理无效记录,不用手动擦整片。

  • 支持RTOS(带FreeRTOS模板),多线程调用无压力。

目前F1和F4全系列都支持。由于直接操作寄存器,不依赖任何库的API,因此只要芯片的寄存器定义文件(如stm32f1xx.h)在,HAL/LL/标准库都能用,换工程无压力。最近刚更新了一版,修了些细节,README也补全了。后续如果有bug或者新需求,我会继续维护,后面打算加入更多系列支持,有这个需求的可以提个Issue催我。

工程建议:

强烈建议把Flash分区搞成 Bootloader | 配置区 | APP,物理隔离,防止固件膨胀后把配置擦没了。

代码仓库里README写得很细,移植指南、API参考都有,基本改个头文件就能用。

最后,如果觉得有用,麻烦点个⭐Star ,让更多人看到。遇到问题或者有需求,欢迎提Issue。

仓库地址:https://github.com/R6bandito/stm32-flash-kv

(部分API使用例子)

(flash管理区数据表打印)

相关推荐
u1301303 小时前
GitHub 热榜项目:周榜(2026-07-26)
github
逛逛GitHub3 小时前
这个开源的 Skills 让 Codex 帮你女朋友管理穿搭,太有意思了~
github
晨汐丶3 小时前
GitHub 上全是 Agent 项目,但你怎么知道哪个真的靠谱?我写了一个分析器
github
磨十三4 小时前
U-Boot
arm开发·嵌入式硬件
笔夏4 小时前
【移芯平台CAT1模组】烧写固件
stm32·单片机·学习
躺柒4 小时前
读半导体简史08大型机
linux·服务器·c语言·数据库·unix·ibm
流量猎手5 小时前
GitHub 使用说明
大数据·elasticsearch·github
无垠的广袤5 小时前
【RA-Eco-RA4M2开发板】步进电机的串口控制和 LabVIEW 数据采集
单片机·嵌入式硬件·labview
茯苓gao6 小时前
嵌入式开发笔记:QSerialPort 完整使用指南——从基础 API 到工程实战
笔记·嵌入式硬件·qt·学习
wuyk5556 小时前
67.嵌入式C语言进阶:结构体指针实战指南——STM32外设、传感器数据访问的高效技巧
c语言·开发语言·stm32·单片机