amobbs.com 阿莫电子技术论坛

标题: 【开源】EasyFlash 新年发布 V4.0 beta 版,完全重写,欢迎品尝 [打印本页]

作者: sunnydragon    时间: 2019-2-10 22:48
标题: 【开源】EasyFlash 新年发布 V4.0 beta 版,完全重写,欢迎品尝
本帖最后由 sunnydragon 于 2019-2-11 20:04 编辑

EasyFlash 想必大家都不陌生了,这是我开源的第二个嵌入式软件,它的出现为嵌入式产品提供了简洁、易用、高可靠的参数存储方案(不太了解的朋友可以先看下介绍:https://github.com/armink/EasyFlash )。
但我一直认为它不够完美,所以完全重写了
全新 V4.0 版本。先来跟大家一起回顾下 V4.0 开发的初衷。

为什么要开发 V4.0
从 2015 年 1 月在本坛发布的 第一个 EasyFlash 版本EasyFlash 也已经伴随了大家 4 年多的时光。
在这 4 年多的时间里,有很多其他行业的嵌入式开发者与我取得联系,得知他们已经将  EasyFlash  应用于自己的产品上,我心里也倍感欣慰,可见 EasyFlash 的成熟性已经得到了很多行业的认可。
大家普遍的感觉是 EasyFlash 功能简洁,可以很容易的应用于产品上。但随着技术的演进,大家对于 KV 需求的多样化,对于 MCU 资源(主要是 RAM)、Flash 存储资源、Flash 寿命等性能指标要求越来越高,旧版本的 EasyFlash 在这些方面还是有提升的空间。比如:


也就是从 2017 年初开始,我便开始准备 EasyFlash 的性能优化工作,结合大家的需求,不断的整理、迭代设计文档,也与一些社区爱好者做过非常深入的交流。最终确定下来,如果单纯的在原有基础上进行完善,那么会有太多的功能实现受到限制,所以干脆重新开发全新一代 ENV 功能组件,这个版本被命名为 NG(Next Generation) 版本。

NG 版本差不多在 2017 年底就已经设计完毕,但一直没时间去开发。最近在亲人的支持下,终于利用 2019 年春节的假期,在岳父母家完成了 V4.0 NG 版本的开发(在此感谢岳父母、爱人的支持)。

V4.0 的新特色有哪些
  
V4.0 的开发与测试并行进行
虽然这次发布的版本为 beta 版本,但也已经在多个平台上做过验证,STM32F1/F2/F4 片上 Flash 还有片外的 Nor Flash ,由于时间紧迫,功能的开发的过程基本都是与功能测试同步进行,还好前期的设计工作基本到位,功能开发工作进行的基本顺利。
测试时间花费最多的工作是在随机掉电测试环节,这个测试关乎着 EasyFlash 的可靠性及容错性能,可靠性是我非常关心的一点,毕竟 ENV 功能被大家常用于产品参数的存储,出现参数丢失一定会严重影响产品功能及用户体验。
最终 EasyFlash 通过了上万次的随机掉电测试,可靠性基本满意。

不仅仅有代码,文档也已经同步更新,甚至还有设计文档
在完成测试的工作后,这两天我把文档进行了同步更新。
与以前不同的是,这次我还发布了 V4.0 设计文档(PS:设计文档整理还是高铁上完成的),也想让大家对 EasyFlash 的内部工作原理有了更加深刻理解,后面才能把它用的更加精通。

贴个部分设计文档的截图。除了这些还有些文档没在这里提到,如果想要查看更多文档,请去 EasyFlash 的 GitHub 上去找吧:
https://github.com/armink/EasyFlash

RT-Thread 软件包即将同步

目前 EasyFlash 已经在 RT-Thread 的在线软件包中,但还是 V3.X 版本,近期很快也将升级至 V4.0 ,方便更多使用 RT-Thread 的开发者开箱即用。

如果喜欢 EasyFlash ,记得分享给有需要的朋友~~

新的一年,希望听到大家更多的关于 EasyFlash 的建议或意见,有想法记得随时过来回帖哈。

最后,贴一张 开源中国 OSChina 颁发给 EasyFlash 的“码云最有价值开源项目”奖牌。EasyFlash 能
有幸成为 GVP 项目,这离不开所有参与贡献的开发者的支持,也包括我的家人。
未来也希望能够有更多爱好者加入进来,共同完善 EasyFlash ,让 EasyFlash 走的更远。


本坛下载:
[attach]448993[/attach]
GitHub:https://github.com/armink/EasyFlash ,目前为 beta 版本,建议持续关注







作者: 负西弱    时间: 2019-2-10 22:56
楼主厉害,谢谢分享
作者: liwei_jlu    时间: 2019-2-10 22:56
赞一个,终于推出新功能了
作者: 752438771    时间: 2019-2-10 23:06
佩服楼主!赞一个!要好好研究一下这个,用起来
作者: honami520    时间: 2019-2-10 23:16
又看到楼主开源的项目了,东西越来越强,越来越好用。多谢开源。
作者: tdh03z    时间: 2019-2-10 23:30
谢谢,佩服楼主,现在越来越懒,特别是已实现的功能模块,根本不想动
作者: limaotaizi    时间: 2019-2-11 00:00
好腻害,学习学习,以后用到项目上!~
作者: security    时间: 2019-2-11 00:03
啥都不说了,先顶一下。
作者: yuangaoping    时间: 2019-2-11 00:08
顶楼主,谢谢分享
作者: yanyanyan168    时间: 2019-2-11 00:11
多谢楼主,点赞
作者: fshunj    时间: 2019-2-11 00:24
不错,支持一下
作者: g921002    时间: 2019-2-11 00:26
佩服樓主,感些分享資訊。
作者: dongdaxing    时间: 2019-2-11 00:35
顶楼主,谢谢分享
作者: maxiang1985    时间: 2019-2-11 08:02
楼主厉害,谢谢分享
作者: chaplin1999    时间: 2019-2-11 08:34
多谢楼主,点赞,以前版本用过,存储参数什么的确很方便,有机会在试试新版本。
作者: 关于以后    时间: 2019-2-11 08:43
支持支持!
佩服楼主!
作者: mcucow    时间: 2019-2-11 08:51
顶楼主,谢谢分享
作者: mypc16888    时间: 2019-2-11 09:06
多谢楼主分享
作者: 我是一个大白菜    时间: 2019-2-11 09:10
多谢楼主分享,支持支持
作者: lwy86    时间: 2019-2-11 09:12
谢谢分享
作者: shower.xu    时间: 2019-2-11 09:13
新年好。谢谢分享,有机会试试
作者: yyts    时间: 2019-2-11 09:13
支持一下楼主
作者: gsq19920418    时间: 2019-2-11 09:14
本帖最后由 gsq19920418 于 2019-2-11 09:18 编辑

ENV是指什么呢?没看明白,KV数据库的代名词?
作者: yu2008    时间: 2019-2-11 09:23
持续关注。。。
作者: security    时间: 2019-2-11 09:36
gsq19920418 发表于 2019-2-11 09:14
ENV是指什么呢?没看明白,KV数据库的代名词?

环境变量。
作者: 浮华一生    时间: 2019-2-11 09:42
MARK  感谢LZ的开源精神
作者: leafstamen    时间: 2019-2-11 09:43
为啥签名是红薯不是李东
作者: gsq19920418    时间: 2019-2-11 09:46
security 发表于 2019-2-11 09:36
环境变量。

嗯,有没有那种KV数据库,支持磨损平衡的呢?
作者: flamma    时间: 2019-2-11 09:47
支持。功能越来越实用了。
作者: security    时间: 2019-2-11 09:47
gsq19920418 发表于 2019-2-11 09:46
嗯,有没有那种KV数据库,支持磨损平衡的呢?

这个就是了。
作者: yuzr    时间: 2019-2-11 09:56
多谢楼主分享!
作者: foxpro2005    时间: 2019-2-11 09:57
感谢楼主, 这个版本比之前的功能更强,使用起来也方便许多了, 后续有空试试。
作者: s1j2h3    时间: 2019-2-11 09:58

楼主厉害,谢谢分享
作者: tiger_wu    时间: 2019-2-11 09:59
赞一个!楼主厉害!楼主好人!有空一定试试!
作者: 不舍的六年    时间: 2019-2-11 10:25
多谢楼主,点赞
作者: ndt2000    时间: 2019-2-11 10:39
谢谢楼主分享。新年上班第一天,祝大家新的一年工作顺利。
作者: albert_lu    时间: 2019-2-11 10:41
這厲害,謝謝提供分享好東西。
作者: eyancool    时间: 2019-2-11 10:46
感谢开源分享....
作者: gongxd    时间: 2019-2-11 10:49
早就需要这么个成品库了
作者: wjb444    时间: 2019-2-11 11:03
太强了,算法,框架,代码都强
作者: Excellence    时间: 2019-2-11 11:05
谢谢分享
作者: ttyyuuio    时间: 2019-2-11 11:10
感谢分享!
作者: TCMCU    时间: 2019-2-11 11:14
感谢楼主无私奉献,学习学习,大神
作者: 蛋定    时间: 2019-2-11 11:15
膜拜大神  
作者: icoyool    时间: 2019-2-11 11:28
我之前用过V1的版本, 简单提几个建议,
1, 可以指定一个flash段作为flash保持的地址. 并指定实际存储的文件大小.比如扇区大小是4K, 每次保存512bytes, 当重写需要的时候, 可以先不擦除扇区而是先把扇区填满
2, 如果指定了多个扇区的时候, 所有扇区都写满了之前再擦除
3, 如果扇区需要擦除时, 暂时不擦除最后一个扇区, 而是在新数据写入第一个扇区之后, 再擦除最后的扇区
4,读的时候需要扫描哪个备份是最新的, 稍微麻烦一点

作者: asbzhang    时间: 2019-2-11 11:35
用一次试试看,谢谢楼主
作者: jdw924    时间: 2019-2-11 11:41
不错,标记一下
作者: amlt_shifu    时间: 2019-2-11 11:49
谢谢。期待,持续维护下去!
作者: my_avr    时间: 2019-2-11 11:55
多谢楼主的无私分享!
作者: a105    时间: 2019-2-11 11:59

谢谢。期待,持续维护下去!
作者: zhuzi1441    时间: 2019-2-11 12:14
收藏,赞一个!
作者: eliterxzgxu    时间: 2019-2-11 12:19
感谢楼主分享
作者: jiaxinhui    时间: 2019-2-11 12:49
谢谢分享!
作者: didadida    时间: 2019-2-11 13:10
只有顶贴了
作者: powerlabor001    时间: 2019-2-11 14:24
新年第一顶!
作者: taoworking    时间: 2019-2-11 14:35
给楼主分享精神点个赞!
作者: hcambridge    时间: 2019-2-11 14:50
能坚持更新,赞楼主!!!
作者: solojimes    时间: 2019-2-11 14:59
顶一下armink大神
作者: myrgb    时间: 2019-2-11 15:25
感谢开源,目前还不清楚怎么应用
作者: leiyitan    时间: 2019-2-11 16:30
关注armink大神几年了,早就把他的东西用到项目上了
作者: zzm24    时间: 2019-2-11 19:11
多谢楼主,点赞
作者: sunnydragon    时间: 2019-2-11 22:27
tdh03z 发表于 2019-2-10 23:30
谢谢,佩服楼主,现在越来越懒,特别是已实现的功能模块,根本不想动

坚持下来就好了。

毕竟软件越完善,用的人才会越多,这样才能体现软件的价值嘛~
作者: sunnydragon    时间: 2019-2-11 22:28
limaotaizi 发表于 2019-2-11 00:00
好腻害,学习学习,以后用到项目上!~

压缩包里有各种平台的 demo ,还带工程,你可以找个板子直接试试。

期待你的反馈。
作者: sunnydragon    时间: 2019-2-11 22:32
security 发表于 2019-2-11 00:03
啥都不说了,先顶一下。

多谢兄弟的支持~~

这个也是个大版本的改进,期待你再多提提建议哈~
作者: sunnydragon    时间: 2019-2-11 22:35
foxpro2005 发表于 2019-2-11 09:57
感谢楼主, 这个版本比之前的功能更强,使用起来也方便许多了, 后续有空试试。 ...

嗯嗯,新版绝对方便很多了,期待你的试用反馈哈
作者: sunnydragon    时间: 2019-2-11 22:39
gongxd 发表于 2019-2-11 10:49
早就需要这么个成品库了


这个是一个升级版,功能比以前更加强大。压缩包里有各个平台的 demo ,非常简单,可以找个板子试试哈~
作者: sunnydragon    时间: 2019-2-11 22:41
wjb444 发表于 2019-2-11 11:03
太强了,算法,框架,代码都强

过奖啦~~这些也都是收集了大家的意见才改进完成的。

代码你也已经研究了吗?
作者: sunnydragon    时间: 2019-2-11 22:44
icoyool 发表于 2019-2-11 11:28
我之前用过V1的版本, 简单提几个建议,
1, 可以指定一个flash段作为flash保持的地址. 并指定实际存储的文件 ...

感谢你的反馈,这些问题在这个新版本都已经改进了。

新版本有试用吗?
作者: sunnydragon    时间: 2019-2-11 22:44
asbzhang 发表于 2019-2-11 11:35
用一次试试看,谢谢楼主

好勒,期待你的试用反馈哈~~
作者: sunnydragon    时间: 2019-2-11 22:47
hcambridge 发表于 2019-2-11 14:50
能坚持更新,赞楼主!!!

也希望大家能继续多多支持 EasyFlash ~~这样软件才能形成良好的闭环

不管是去改进代码、完善文档、反馈意见都行
作者: sunnydragon    时间: 2019-2-11 22:49
solojimes 发表于 2019-2-11 14:59
顶一下armink大神


作者: sunnydragon    时间: 2019-2-11 22:52
myrgb 发表于 2019-2-11 15:25
感谢开源,目前还不清楚怎么应用

使用场景老多了。

比如:存储个产品的设定参数、设备的工作日志、下载的配置文件等等,只要是需要有断电记忆的功能都用的上。

你的产品一般是哪一类的?
作者: sunnydragon    时间: 2019-2-11 22:53
leiyitan 发表于 2019-2-11 16:30
关注armink大神几年了,早就把他的东西用到项目上了

多谢支持哈~~

你还用到哪些软件了?
作者: newkey    时间: 2019-2-11 22:56
真的很敬佩楼主,牛
作者: 68336016    时间: 2019-2-11 23:05
拿来当做手持设备存储数据应该可以吧,就是导出数据到电脑,还得上位机。
作者: jjj    时间: 2019-2-12 07:48
good 有空下载下来看看,
作者: pxclihai    时间: 2019-2-12 08:04
支持一下。。新版本不占用ram。 省了不少资源
作者: llsenyue    时间: 2019-2-12 08:18
感谢分享,楼主精神可嘉
作者: myxiaonia    时间: 2019-2-12 08:25
是不是像嵌入式数据库靠拢啊
作者: astankvai    时间: 2019-2-12 08:26
恭喜楼主,膜拜,支持!
作者: shaozh_new    时间: 2019-2-12 08:30
谢谢分享!!!!
作者: buliaoqqlp    时间: 2019-2-12 08:51
多谢开源。
作者: hhxb    时间: 2019-2-12 09:16
支持
作者: thyewfty    时间: 2019-2-12 09:52
给楼主点赞
作者: sokou    时间: 2019-2-12 09:56
感谢楼主的分享。还要再学习一下这个功能。
作者: Phonse    时间: 2019-2-12 09:56
福音啊。。谢谢
作者: venus5712    时间: 2019-2-12 10:08
持续关注!!


作者: jqbkl007    时间: 2019-2-12 10:08
下载来研究一下,看能不能用在项目上
作者: wtiechen1969    时间: 2019-2-12 10:38
感谢大神,下载看看能不能用的上
作者: b260123292    时间: 2019-2-12 10:51
感谢大神的付出,极品好项目!
作者: fsmcu    时间: 2019-2-12 10:58
感谢分享,持续关注
作者: jia_xuan    时间: 2019-2-12 11:35
感谢分享,谢谢楼主。先看看如何使用,后续项目可能会用到。
作者: wajlh    时间: 2019-2-12 11:41
支持一下
作者: Joetu    时间: 2019-2-12 11:44
感谢楼主的分享!
作者: 32MCU    时间: 2019-2-12 11:46
顶一下。感谢分享!
作者: ysu_er    时间: 2019-2-12 12:21
Spi flash支持吧
作者: toptrying    时间: 2019-2-12 12:36
感谢分享!
作者: mdd    时间: 2019-2-12 13:13
支持楼主,在线仪表必备功能
作者: xianghaisha    时间: 2019-2-12 13:50
支持楼主这样的开源精神!找机会也共享一些项目
作者: syj0925    时间: 2019-2-12 14:20
非常感谢分享!请教楼主,4.0版本目前是还不支持存储单个参数大于扇区?4.1版本不知何时发布?




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4