【升级】嵌入式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条回答
qq302011
1楼-- · 2019-12-26 01:27
sunnydragon 发表于 2015-9-20 18:27
https://github.com/armink/EasyFlash/tree/master/demo/env/stm32f4xx    这个是stm32f4xx平台下的Demo ...

按我的配置执行到这一句,不知道怎么回事
FLASH_INFO("Error: The flash has no available space to save ENV. ");
sunnydragon
2楼-- · 2019-12-26 07:19
qq302011 发表于 2015-9-21 10:31
按我的配置执行到这一句,不知道怎么回事
FLASH_INFO("Error: The flash has no available space to save ...

你先使用我给你说的那个stm32f40x的Demo,那个直接打开就可以用的,等你看着文档,了解详细的流程和配置之后再去自己动手做改动。
sunnydragon
3楼-- · 2019-12-26 11:00
qq302011 发表于 2015-9-21 10:31
按我的配置执行到这一句,不知道怎么回事
FLASH_INFO("Error: The flash has no available space to save ...

你先使用我给你说的那个stm32f40x的Demo,那个直接打开就可以用的,等你看着文档,了解详细的流程和配置之后再去自己动手做改动。
qq302011
4楼-- · 2019-12-26 16:51
 精彩回答 2  元偷偷看……
sunnydragon
5楼-- · 2019-12-26 18:42
qq302011 发表于 2015-9-21 10:31
按我的配置执行到这一句,不知道怎么回事
FLASH_INFO("Error: The flash has no available space to save ...

你先使用我给你说的那个stm32f40x的Demo,那个直接打开就可以用的,等你看着文档,了解详细的流程和配置之后再去自己动手做改动。
sunnydragon
6楼-- · 2019-12-26 21:59
qq302011 发表于 2015-9-21 11:12
但是我的可用的FLASH地址 在  0x08004000------0x0800bfff之间的一段,应该怎么做?
并不是通常的 最后几 ...

那就把起始地址设置为:0x08004000,flash擦写最小单位为:16K

务必要保证Demo在自己的板子上运行起来,然后看懂文档,不懂的再跟帖。

一周热门 更多>