本帖最后由 sunnydragon 于 2019-8-11 22:08 编辑
自年初发布了 EasyFlash 4.0 beta 版后 ,EasyFlash 迎来了全新的 NG (Next Generation) 模式。 新的模式相比以前有着众多的优势,比如
- 1、更小的资源占用,内存占用 几乎为 0 ;
- 2、ENV 的值类型支持 任意类型 、任意长度,相当于直接 memcpy 变量至 flash ;
- 3、ENV 操作效率比以前的模式高,充分利用剩余空闲区域,擦除次数及操作时间显著降低;
- 4、原生支持 磨损平衡、掉电保护功能 (V4.0 之前需要占用额外的 Flash 扇区);
- 5、ENV 支持 增量升级 ,固件升级后 ENV 也支持升级;
在 beta 版本发布的这段时间里,收到很多开发者使用反馈,解决了一些使用过程中的问题,包括:性能,可靠性等等
最大的改进是增加了类似 LRU (Least Recently Used) 的 Cache 机制,大幅提升了 ENV 查找,写入及 GC 时的效率。
经过这段时间的集中测试,现在终于可以发布 V4.0 正式版了。
未来随着 IoT 场景的多样化要求, EasyFlash 还会做更多改进与提升,目前已知的规划会有:
- 1、支持数据加密,IoT 时代的安全性是重中之重;
- 2、增加数据压缩,让同样大小的 Flash 可以存储更多的内容;
- 3、支持大数据存储模式,长度无限制,数据可在多个 Flash 扇区上顺序存储;
- 4、增加 ENV 迭代器,检索 ENV 更加方便;
- 5、……
请评论投票下你所期待的新功能吧,排名靠前的功能将会优先支持……
V4.0 正式版下载:
最新代码及在线文档详见:https://github.com/armink/EasyFlash
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
嗯,支持多实例 计划是在 EasyFlash 5.0 发布的功能
不正常的时候,我跟了下程序,执行到ef_load_env()中,check_failed_count 不等于SECTOR_NUM ,所以初始化不了参数
重新恢复出厂环境变量是调用这个 API ef_env_set_default
执行到ef_load_env()中,check_failed_count 不等于SECTOR_NUM,所以不会执行 ef_env_set_default,格式化下载程序,被优化时也不会执行这个,不优化时可以执行
为何 check_failed_count 会不等于SECTOR_NUM 呢?这部分能否深入看一下
另外,ef_env_set_default 是可以给上层用户调用的 API
一周热门 更多>