EasyFlash V2.02.22 发布,新增类型转换插件

来源: 投稿
作者: armink
2016-02-24

EasyFlash 是一款开源的轻量级嵌入式Flash存储器库,主要为MCU(Micro Control Unit)提供便捷、通用的上层应用接口,使得开发者更加高效实现基于的Flash存储器常见应用开发。该库目前提供 三大实用功能 :

  • Env 快速保存产品参数,支持 写平衡(磨损平衡) 及 掉电保护 模式

EasyFlash不仅能够实现对产品的 设定参数运行日志 等信息的掉电保存功能,还封装了简洁的增加、删除、修改及查询方法, 降低了开发者对产品参数的处理难度,也保证了产品在后期升级时拥有更好的扩展性。让Flash变为NoSQL(非关系型数据库)模型的小型键值(Key-Value)存储数据库。

  • IAP 在线升级再也不是难事儿

该库封装了IAP(In-Application Programming)功能常用的接口,支持CRC32校验,同时支持Bootloader及Application的升级。

  • Log 无需文件系统,日志可直接存储在Flash上

非常适合应用在小型的不带文件系统的产品中,方便开发人员快速定位、查找系统发生崩溃或死机的原因。同时配合EasyLogger(我开源的超轻量级、高性能C日志库,它提供与EasyFlash的无缝接口)一起使用,轻松实现日志的Flash存储功能。

更多详细介绍、使用场景及使用说明请点击:Github 或 OSChina 进行查看。

本次更新日志如下:

  • 新增 适合环境变量功能的类型转换插件;

  • 新增 设置环境变量后立刻保存的方法;

  • 优化 环境变量保存逻辑;

  • 修复 日志功能中的部分 bug;

本次更新重点是类型转换插件(Types),目前 EasyFlash 会将环境变量以字符串形式存储于 Flash 中,在这种模式下,对于非字符串类型的环境变量在使用时,就必须得增加额外的字符串转换代码。设计 Types 插件就是为了方便用户在使用 EasyFlash 时,以更加简单的方式去操作各种类型的环境变量。
主要支持的类型包括:C 的 基本类型数组类型 以及 结构体类型 。对于结构体类型, Types 插件内部采用 struct2json 库进行转换,所以项目中需要依赖 struct2json 库。

基本方法如下:

/* 获取基本类型环境变量 */
int boot_count = ef_get_int("开机次数");
/* 获取数组类型环境变量 */
int temp_record[100];
ef_get_int_array("温度记录", temp_record);
/* 获取结构体类型环境变量 */
ef_get_struct("张三学生", &student, stu_get_cb);

更多更详细的使用方法,请参考源码中的说明文档(点击打开

展开阅读全文
13 收藏
分享
加载中
更多评论
0 评论
13 收藏
分享
返回顶部
顶部