通用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管理区数据表打印)

相关推荐
驴友花雕4 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
hsjiasb5 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
小弥儿5 小时前
GitHub今日热榜 | 2026-08-16:大模型微调与编码工具扎堆
学习·开源·github
多弗朗皮卡丘5 小时前
C语言梦开始的地方7:函数
c语言·开发语言
starp10 小时前
skill 管理,后缀为public可以被git commit
github
Herbert_hwt10 小时前
C语言零基础入门:循环控制与数据类型详解
c语言·数据结构·算法
日拱一卒的小田10 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
315356691311 小时前
DeepSeek Harness 发布后,我没急着跑 Demo,先把 `.agents/` 翻了一遍
前端·后端·github
cardinal_50811 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
Tyler_TXZ11 小时前
C++C语言之——二叉树
c语言·开发语言·数据结构·c++·二叉树