【升级】嵌入式Flash闪存库EasyFlash,可以直接保存日志了

2019-12-14 12:52发布

EasyFlash 是一款开源的轻量级嵌入式Flash存储器库,主要为MCU(Micro Control Unit)提供便捷、通用的上层应用接口,使得开发者更加高效实现基于的Flash存储器常见应用开发。该库目前提供 三大实用功能
  • Env 让变量轻松实现掉电保存,支持 写平衡 模式,无需担心变量长度、磨损平衡等问题
使用 键值对(key-value) 方式将变量存储到Flash中。在产品上,能够更加简捷的实现 设定参数运行日志等信息掉电保存的功能。
  • IAP 在线升级再也不是难事儿
该库封装了IAP(In-Application Programming)功能常用的接口,支持CRC32校验,同时支持Bootloader及Application的升级。
  • (新增)Log 无需文件系统,日志可直接存储在Flash上
非常适合应用在小型的不带文件系统的产品中。同时配合EasyLogger(我开源的超轻量级、高性能C日志库,它提供与EasyFlash的无缝接口)一起使用,轻松实现日志的Flash存储功能。
更多详细介绍,点击:https://github.com/armink/EasyFlash
原帖:http://www.amobbs.com/thread-5613261-1-1.html

更新日志
V1.06.10
  • 新增 Flash存储日志功能,无需文件系统的支持;
  • 删除 用户以前需要自定义的types.h头文件,全部采用C99自带头文件,降低移植复杂度;
  • 增加 C++ 编译器的支持;
  • 增加 环境变量同步锁,提升库在并发量较大的环境下的稳定性;
  • 修复 部分bug;


下载方式
Github:https://github.com/armink/EasyFlash
本坛下载: EasyFlash-V1.06.10.zip (6.9 MB, 下载次数: 344) 2015-6-10 19:18 上传 点击文件名下载附件
EasyFlash-V1.06.10



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
weiwei4
1楼-- · 2019-12-22 17:37
谢谢楼主,支持
yujintian
2楼-- · 2019-12-22 23:13
楼主太给力,之前用FLASH没用文件系统总是很苦恼。
myxiaonia
3楼-- · 2019-12-23 03:16
 精彩回答 2  元偷偷看……
liujingwei
4楼-- · 2019-12-23 05:56
楼主好人,感谢
sunnydragon
5楼-- · 2019-12-23 06:35
yujintian 发表于 2015-6-16 09:22
楼主太给力,之前用FLASH没用文件系统总是很苦恼。

多谢支持,我之前也是很烦恼。产品存储的数据不多,但是搞文件系统又显得臃肿,网上也没有找到合适的开源软件,最后想想还是自己写个开源的类似Uboot环境变量的Flash库吧。现在这个库已经成为我的所有项目中的必备品,通过key-value方式,能很轻松实现之前觉得很麻烦的事情,例如:存储的变量长度不一致、怎么解决各种类型转换问题、软件死机后怎么在没有文件系统的前提下保存错误信息。这些都可以通过EasyFlash的Env功能得到解决。
sunnydragon
6楼-- · 2019-12-23 11:43
myxiaonia 发表于 2015-6-16 09:36
楼主搞的这个是不是类似于一个小型数据库啊

好眼力。。可以认为EasyFlash的Env功能就是嵌入式MCU上的小型基于Flash的键值对存储数据库。增删改查所有功能都有的。如果你了解Redis(一个开源、支持网络、基于内存、键值对存储数据库)的话,就会发现EasyFlash的Env功能个跟起很像,我也是后来才发现Redis的。

一周热门 更多>