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

armink
 armink
发布于 2016年02月24日
收藏 13

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);

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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:EasyFlash V2.02.22 发布,新增类型转换插件
加载中
返回顶部
顶部