搜索
bottom↓
回复: 276
打印 上一主题 下一主题

【开源】EasyFlash 新年发布 V4.0 beta 版,完全重写,欢迎品尝

  [复制链接]

出0入198汤圆

跳转到指定楼层
1
发表于 2019-2-10 22:48:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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 在这些方面还是有提升的空间。比如:
  • 1、每个存储在 Flash 上的 ENV 都会在 RAM 中缓存一份,这样做虽然能够简化实现,但确实会占用很多 RAM 资源;
  • 2、ENV 的值类型只支持字符串,如果想要保存其他类型的值(比如:数组、结构体)就比较麻烦了,虽然我后来为此又专门开发了 struct2json 开源软件,但还是不够便捷;
  • 3、每次保存 ENV 都需要重新擦写整个 Flash 扇区,那么位于扇区尾部未使用的区域始终无法得到利用,降低了 Flash 的使用效率,也就降低了 Flash 的使用寿命


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

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

V4.0 的新特色有哪些
  • 1、更小的资源占用,内存占用 几乎为 0
  • 2、ENV 的值类型支持 任意类型 、任意长度,相当于直接 memcpy 变量至 flash ;
  • 3、ENV 操作效率比以前的模式高,充分利用剩余空闲区域,擦除次数及操作时间显著降低;
  • 4、原生支持 磨损平衡、掉电保护功能 (V4.0 之前需要占用额外的 Flash 扇区);
  • 5、ENV 支持 增量升级 ,固件升级后 ENV 也支持升级;
  • 6、支持大数据存储模式,长度无限制,数据可在多个 Flash 扇区上顺序存储。像脚本程序、音频等占用 Flash 超过 1 个扇区的资源也都可以存入 ENV(即将在 V4.1 支持);
  • 7、支持 数据加密 ,提升存储的安全性,物联网时代的必备功能(即将在 V4.2 支持);
  • 8、支持 数据压缩 ,减低 Flash 占用(即将在 V4.3 支持);

  
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 走的更远。


本坛下载:

GitHub:https://github.com/armink/EasyFlash ,目前为 beta 版本,建议持续关注






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
发表于 2019-2-10 22:56:33 | 只看该作者
楼主厉害,谢谢分享

出0入8汤圆

3
发表于 2019-2-10 22:56:37 来自手机 | 只看该作者
赞一个,终于推出新功能了

出0入50汤圆

4
发表于 2019-2-10 23:06:25 | 只看该作者
佩服楼主!赞一个!要好好研究一下这个,用起来

出0入90汤圆

5
发表于 2019-2-10 23:16:51 | 只看该作者
又看到楼主开源的项目了,东西越来越强,越来越好用。多谢开源。

出0入0汤圆

6
发表于 2019-2-10 23:30:24 来自手机 | 只看该作者
谢谢,佩服楼主,现在越来越懒,特别是已实现的功能模块,根本不想动

出0入0汤圆

7
发表于 2019-2-11 00:00:45 | 只看该作者
好腻害,学习学习,以后用到项目上!~

出0入8汤圆

8
发表于 2019-2-11 00:03:29 来自手机 | 只看该作者
啥都不说了,先顶一下。

出0入0汤圆

9
发表于 2019-2-11 00:08:10 | 只看该作者
顶楼主,谢谢分享

出140入115汤圆

10
发表于 2019-2-11 00:11:04 来自手机 | 只看该作者
多谢楼主,点赞

出0入0汤圆

11
发表于 2019-2-11 00:24:12 来自手机 | 只看该作者
不错,支持一下

出0入0汤圆

12
发表于 2019-2-11 00:26:30 | 只看该作者
佩服樓主,感些分享資訊。

出0入0汤圆

13
发表于 2019-2-11 00:35:15 | 只看该作者
顶楼主,谢谢分享

出0入0汤圆

14
发表于 2019-2-11 08:02:48 | 只看该作者
楼主厉害,谢谢分享

出0入0汤圆

15
发表于 2019-2-11 08:34:03 | 只看该作者
多谢楼主,点赞,以前版本用过,存储参数什么的确很方便,有机会在试试新版本。

出0入0汤圆

16
发表于 2019-2-11 08:43:38 | 只看该作者
支持支持!
佩服楼主!

出0入0汤圆

17
发表于 2019-2-11 08:51:48 | 只看该作者
顶楼主,谢谢分享

出0入0汤圆

18
发表于 2019-2-11 09:06:59 来自手机 | 只看该作者
多谢楼主分享

出0入42汤圆

19
发表于 2019-2-11 09:10:26 来自手机 | 只看该作者
多谢楼主分享,支持支持

出0入4汤圆

20
发表于 2019-2-11 09:12:34 | 只看该作者
谢谢分享

出0入0汤圆

21
发表于 2019-2-11 09:13:03 | 只看该作者
新年好。谢谢分享,有机会试试

出0入224汤圆

22
发表于 2019-2-11 09:13:11 来自手机 | 只看该作者
支持一下楼主

出0入0汤圆

23
发表于 2019-2-11 09:14:50 | 只看该作者
本帖最后由 gsq19920418 于 2019-2-11 09:18 编辑

ENV是指什么呢?没看明白,KV数据库的代名词?

出0入0汤圆

24
发表于 2019-2-11 09:23:42 | 只看该作者
持续关注。。。

出0入8汤圆

25
发表于 2019-2-11 09:36:11 来自手机 | 只看该作者
gsq19920418 发表于 2019-2-11 09:14
ENV是指什么呢?没看明白,KV数据库的代名词?

环境变量。

出0入0汤圆

26
发表于 2019-2-11 09:42:02 | 只看该作者
MARK  感谢LZ的开源精神

出0入57汤圆

27
发表于 2019-2-11 09:43:22 | 只看该作者
为啥签名是红薯不是李东

出0入0汤圆

28
发表于 2019-2-11 09:46:04 | 只看该作者

嗯,有没有那种KV数据库,支持磨损平衡的呢?

出0入0汤圆

29
发表于 2019-2-11 09:47:09 | 只看该作者
支持。功能越来越实用了。

出0入8汤圆

30
发表于 2019-2-11 09:47:16 来自手机 | 只看该作者
gsq19920418 发表于 2019-2-11 09:46
嗯,有没有那种KV数据库,支持磨损平衡的呢?

这个就是了。

出50入0汤圆

31
发表于 2019-2-11 09:56:49 | 只看该作者
多谢楼主分享!

出0入76汤圆

32
发表于 2019-2-11 09:57:51 | 只看该作者
感谢楼主, 这个版本比之前的功能更强,使用起来也方便许多了, 后续有空试试。

出0入0汤圆

33
发表于 2019-2-11 09:58:20 | 只看该作者

楼主厉害,谢谢分享

出0入42汤圆

34
发表于 2019-2-11 09:59:06 | 只看该作者
赞一个!楼主厉害!楼主好人!有空一定试试!

出0入8汤圆

35
发表于 2019-2-11 10:25:21 | 只看该作者
多谢楼主,点赞

出0入0汤圆

36
发表于 2019-2-11 10:39:02 | 只看该作者
谢谢楼主分享。新年上班第一天,祝大家新的一年工作顺利。

出0入0汤圆

37
发表于 2019-2-11 10:41:14 | 只看该作者
這厲害,謝謝提供分享好東西。

出0入0汤圆

38
发表于 2019-2-11 10:46:15 | 只看该作者
感谢开源分享....

出0入0汤圆

39
发表于 2019-2-11 10:49:21 | 只看该作者
早就需要这么个成品库了

出0入0汤圆

40
发表于 2019-2-11 11:03:06 来自手机 | 只看该作者
太强了,算法,框架,代码都强

出0入0汤圆

41
发表于 2019-2-11 11:05:23 来自手机 | 只看该作者
谢谢分享

出0入0汤圆

42
发表于 2019-2-11 11:10:55 | 只看该作者
感谢分享!

出0入0汤圆

43
发表于 2019-2-11 11:14:42 | 只看该作者
感谢楼主无私奉献,学习学习,大神

出250入8汤圆

44
发表于 2019-2-11 11:15:24 | 只看该作者
膜拜大神  

出0入8汤圆

45
发表于 2019-2-11 11:28:14 | 只看该作者
我之前用过V1的版本, 简单提几个建议,
1, 可以指定一个flash段作为flash保持的地址. 并指定实际存储的文件大小.比如扇区大小是4K, 每次保存512bytes, 当重写需要的时候, 可以先不擦除扇区而是先把扇区填满
2, 如果指定了多个扇区的时候, 所有扇区都写满了之前再擦除
3, 如果扇区需要擦除时, 暂时不擦除最后一个扇区, 而是在新数据写入第一个扇区之后, 再擦除最后的扇区
4,读的时候需要扫描哪个备份是最新的, 稍微麻烦一点

出0入0汤圆

46
发表于 2019-2-11 11:35:27 | 只看该作者
用一次试试看,谢谢楼主

出0入0汤圆

47
发表于 2019-2-11 11:41:22 | 只看该作者
不错,标记一下

出0入0汤圆

48
发表于 2019-2-11 11:49:37 | 只看该作者
谢谢。期待,持续维护下去!

出0入42汤圆

49
发表于 2019-2-11 11:55:05 来自手机 | 只看该作者
多谢楼主的无私分享!

出0入0汤圆

50
发表于 2019-2-11 11:59:08 | 只看该作者

谢谢。期待,持续维护下去!

出0入0汤圆

51
发表于 2019-2-11 12:14:58 | 只看该作者
收藏,赞一个!

出0入0汤圆

52
发表于 2019-2-11 12:19:49 来自手机 | 只看该作者
感谢楼主分享

出0入0汤圆

53
发表于 2019-2-11 12:49:53 | 只看该作者
谢谢分享!

出0入0汤圆

54
发表于 2019-2-11 13:10:54 | 只看该作者
只有顶贴了

出0入0汤圆

55
发表于 2019-2-11 14:24:35 来自手机 | 只看该作者
新年第一顶!

出0入0汤圆

56
发表于 2019-2-11 14:35:29 | 只看该作者
给楼主分享精神点个赞!

出100入18汤圆

57
发表于 2019-2-11 14:50:23 | 只看该作者
能坚持更新,赞楼主!!!

出0入0汤圆

58
发表于 2019-2-11 14:59:36 | 只看该作者
顶一下armink大神

出0入0汤圆

59
发表于 2019-2-11 15:25:52 | 只看该作者
感谢开源,目前还不清楚怎么应用

出140入8汤圆

60
发表于 2019-2-11 16:30:01 | 只看该作者
关注armink大神几年了,早就把他的东西用到项目上了

出0入0汤圆

61
发表于 2019-2-11 19:11:14 | 只看该作者
多谢楼主,点赞

出0入198汤圆

62
 楼主| 发表于 2019-2-11 22:27:20 | 只看该作者
tdh03z 发表于 2019-2-10 23:30
谢谢,佩服楼主,现在越来越懒,特别是已实现的功能模块,根本不想动

坚持下来就好了。

毕竟软件越完善,用的人才会越多,这样才能体现软件的价值嘛~

出0入198汤圆

63
 楼主| 发表于 2019-2-11 22:28:35 | 只看该作者
limaotaizi 发表于 2019-2-11 00:00
好腻害,学习学习,以后用到项目上!~

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

期待你的反馈。

出0入198汤圆

64
 楼主| 发表于 2019-2-11 22:32:50 | 只看该作者
security 发表于 2019-2-11 00:03
啥都不说了,先顶一下。

多谢兄弟的支持~~

这个也是个大版本的改进,期待你再多提提建议哈~

出0入198汤圆

65
 楼主| 发表于 2019-2-11 22:35:01 | 只看该作者
foxpro2005 发表于 2019-2-11 09:57
感谢楼主, 这个版本比之前的功能更强,使用起来也方便许多了, 后续有空试试。 ...

嗯嗯,新版绝对方便很多了,期待你的试用反馈哈

出0入198汤圆

66
 楼主| 发表于 2019-2-11 22:39:36 | 只看该作者
gongxd 发表于 2019-2-11 10:49
早就需要这么个成品库了


这个是一个升级版,功能比以前更加强大。压缩包里有各个平台的 demo ,非常简单,可以找个板子试试哈~

出0入198汤圆

67
 楼主| 发表于 2019-2-11 22:41:16 | 只看该作者
wjb444 发表于 2019-2-11 11:03
太强了,算法,框架,代码都强

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

代码你也已经研究了吗?

出0入198汤圆

68
 楼主| 发表于 2019-2-11 22:44:01 | 只看该作者
icoyool 发表于 2019-2-11 11:28
我之前用过V1的版本, 简单提几个建议,
1, 可以指定一个flash段作为flash保持的地址. 并指定实际存储的文件 ...

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

新版本有试用吗?

出0入198汤圆

69
 楼主| 发表于 2019-2-11 22:44:39 | 只看该作者
asbzhang 发表于 2019-2-11 11:35
用一次试试看,谢谢楼主

好勒,期待你的试用反馈哈~~

出0入198汤圆

70
 楼主| 发表于 2019-2-11 22:47:11 | 只看该作者
hcambridge 发表于 2019-2-11 14:50
能坚持更新,赞楼主!!!

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

不管是去改进代码、完善文档、反馈意见都行

出0入198汤圆

71
 楼主| 发表于 2019-2-11 22:49:16 | 只看该作者

出0入198汤圆

72
 楼主| 发表于 2019-2-11 22:52:07 | 只看该作者
myrgb 发表于 2019-2-11 15:25
感谢开源,目前还不清楚怎么应用

使用场景老多了。

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

你的产品一般是哪一类的?

出0入198汤圆

73
 楼主| 发表于 2019-2-11 22:53:20 | 只看该作者
leiyitan 发表于 2019-2-11 16:30
关注armink大神几年了,早就把他的东西用到项目上了

多谢支持哈~~

你还用到哪些软件了?

出115入0汤圆

74
发表于 2019-2-11 22:56:53 来自手机 | 只看该作者
真的很敬佩楼主,牛

出130入129汤圆

75
发表于 2019-2-11 23:05:15 来自手机 | 只看该作者
拿来当做手持设备存储数据应该可以吧,就是导出数据到电脑,还得上位机。

出0入0汤圆

76
发表于 2019-2-12 07:48:27 | 只看该作者
good 有空下载下来看看,

出0入0汤圆

77
发表于 2019-2-12 08:04:14 | 只看该作者
支持一下。。新版本不占用ram。 省了不少资源

出0入0汤圆

78
发表于 2019-2-12 08:18:02 | 只看该作者
感谢分享,楼主精神可嘉

出0入0汤圆

79
发表于 2019-2-12 08:25:10 | 只看该作者
是不是像嵌入式数据库靠拢啊

出0入0汤圆

80
发表于 2019-2-12 08:26:21 | 只看该作者
恭喜楼主,膜拜,支持!

出0入0汤圆

81
发表于 2019-2-12 08:30:12 | 只看该作者
谢谢分享!!!!

出0入0汤圆

82
发表于 2019-2-12 08:51:51 | 只看该作者
多谢开源。

出0入17汤圆

83
发表于 2019-2-12 09:16:12 | 只看该作者
支持

出0入0汤圆

84
发表于 2019-2-12 09:52:00 | 只看该作者
给楼主点赞

出0入9汤圆

85
发表于 2019-2-12 09:56:11 | 只看该作者
感谢楼主的分享。还要再学习一下这个功能。

出0入0汤圆

86
发表于 2019-2-12 09:56:18 | 只看该作者
福音啊。。谢谢

出0入0汤圆

87
发表于 2019-2-12 10:08:18 | 只看该作者
持续关注!!

出0入0汤圆

88
发表于 2019-2-12 10:08:54 | 只看该作者
下载来研究一下,看能不能用在项目上

出0入0汤圆

89
发表于 2019-2-12 10:38:52 | 只看该作者
感谢大神,下载看看能不能用的上

出0入0汤圆

90
发表于 2019-2-12 10:51:13 来自手机 | 只看该作者
感谢大神的付出,极品好项目!

出0入0汤圆

91
发表于 2019-2-12 10:58:36 | 只看该作者
感谢分享,持续关注

出0入0汤圆

92
发表于 2019-2-12 11:35:39 | 只看该作者
感谢分享,谢谢楼主。先看看如何使用,后续项目可能会用到。

出0入4汤圆

93
发表于 2019-2-12 11:41:55 | 只看该作者
支持一下

出0入0汤圆

94
发表于 2019-2-12 11:44:09 | 只看该作者
感谢楼主的分享!

出0入0汤圆

95
发表于 2019-2-12 11:46:55 来自手机 | 只看该作者
顶一下。感谢分享!

出0入0汤圆

96
发表于 2019-2-12 12:21:32 来自手机 | 只看该作者
Spi flash支持吧

出1000入0汤圆

97
发表于 2019-2-12 12:36:19 | 只看该作者
感谢分享!

出0入0汤圆

98
发表于 2019-2-12 13:13:12 | 只看该作者
支持楼主,在线仪表必备功能

出0入0汤圆

99
发表于 2019-2-12 13:50:06 | 只看该作者
支持楼主这样的开源精神!找机会也共享一些项目

出0入0汤圆

100
发表于 2019-2-12 14:20:46 | 只看该作者
非常感谢分享!请教楼主,4.0版本目前是还不支持存储单个参数大于扇区?4.1版本不知何时发布?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 07:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表