搜索
bottom↓
楼主: sunnydragon

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

  [复制链接]

出0入0汤圆

发表于 2019-2-12 14:25:10 | 显示全部楼层
收藏,现在写代码的心思已经越来越小了

出0入0汤圆

发表于 2019-2-12 15:10:33 | 显示全部楼层
不错,后面试试

出0入0汤圆

发表于 2019-2-12 19:01:55 | 显示全部楼层
前段时间了解了一下,没想到这么快又出新版本了,加紧使用一下,感谢LZ分享。

出0入0汤圆

发表于 2019-2-12 19:07:10 | 显示全部楼层
这个必须支持!!!

出0入0汤圆

发表于 2019-2-12 20:20:02 | 显示全部楼层
占楼标记一下,感谢楼主

出0入0汤圆

发表于 2019-2-12 20:40:12 | 显示全部楼层
真心佩服,牛逼!

出0入0汤圆

发表于 2019-2-12 21:03:58 | 显示全部楼层
这个牛逼了,下个项目一定试试

出0入0汤圆

发表于 2019-2-12 22:07:19 | 显示全部楼层
终于等到你

出0入85汤圆

发表于 2019-2-12 22:10:52 | 显示全部楼层
楼主厉害,下来学习。

出0入0汤圆

发表于 2019-2-13 03:51:11 来自手机 | 显示全部楼层
(⊙o⊙)哇,敬佩

出0入0汤圆

发表于 2019-2-13 09:00:12 | 显示全部楼层
感谢分享
mark一下:EasyFlash

出0入0汤圆

发表于 2019-2-13 09:39:19 | 显示全部楼层
感谢分享,非常厉害

出0入0汤圆

发表于 2019-2-13 09:42:53 | 显示全部楼层
新年好,感谢分享。

出0入0汤圆

发表于 2019-2-13 10:35:43 | 显示全部楼层
能耐一定的掉电,是不是适合拿来做参数存储了

出0入0汤圆

发表于 2019-2-13 10:40:07 | 显示全部楼层
顶一下armink大神

出0入0汤圆

发表于 2019-2-13 10:55:53 | 显示全部楼层
楼主厉害,谢谢分享

出0入0汤圆

发表于 2019-2-13 15:50:49 | 显示全部楼层
感谢楼主无偿开源,有这样的精神大家才有进步

出0入0汤圆

发表于 2019-2-13 17:33:38 | 显示全部楼层
楼主厉害,谢谢分享!

出0入0汤圆

发表于 2019-2-13 20:37:03 | 显示全部楼层
sunnydragon 发表于 2019-2-11 22:52
使用场景老多了。

比如:存储个产品的设定参数、设备的工作日志、下载的配置文件等等,只要是需要有断电 ...

想问下,项目中有个断网续传功能,即与上位机中断时,需要在这个期间把二级设备通过本人产品上传给上位机的数据保存起来,现在使用的是SD卡,您这个软件可以使用在SD么?

出0入198汤圆

 楼主| 发表于 2019-2-13 21:56:47 | 显示全部楼层
myxiaonia 发表于 2019-2-12 08:25
是不是像嵌入式数据库靠拢啊

是的,但不是传统的那种关系型数据库

出0入198汤圆

 楼主| 发表于 2019-2-13 21:59:22 | 显示全部楼层

支持的,你可以看下压缩包里就有 SPI Flash 的 demo

出0入0汤圆

发表于 2019-2-13 21:59:55 | 显示全部楼层
sunnydragon 发表于 2019-2-13 21:56
是的,但不是传统的那种关系型数据库

不错不错,其实有个数据库的话很多时候也不需要文件系统了

出0入198汤圆

 楼主| 发表于 2019-2-13 22:00:03 | 显示全部楼层
xianghaisha 发表于 2019-2-12 13:50
支持楼主这样的开源精神!找机会也共享一些项目

也可以一起完善 EasyFlash

出0入198汤圆

 楼主| 发表于 2019-2-13 22:02:21 | 显示全部楼层
syj0925 发表于 2019-2-12 14:20
非常感谢分享!请教楼主,4.0版本目前是还不支持存储单个参数大于扇区?4.1版本不知何时发布? ...

看大家的期待程度了,期待人越多,越热闹,我的动力会越大哈

出0入198汤圆

 楼主| 发表于 2019-2-13 22:03:11 | 显示全部楼层
Ray______ 发表于 2019-2-13 10:35
能耐一定的掉电,是不是适合拿来做参数存储了

是呀,这个是最常见的应用场景,你可以直接试试压缩包里的例程。

出0入198汤圆

 楼主| 发表于 2019-2-13 22:04:01 | 显示全部楼层
futurekwong 发表于 2019-2-13 15:50
感谢楼主无偿开源,有这样的精神大家才有进步

需要大家一起努力,大家的支持才是我持续坚持开源的动力

出0入198汤圆

 楼主| 发表于 2019-2-13 22:05:27 | 显示全部楼层
dy22511825 发表于 2019-2-13 20:37
想问下,项目中有个断网续传功能,即与上位机中断时,需要在这个期间把二级设备通过本人产品上传给上位机 ...

支持 SD 卡的,实现好底层读写接口就好了。但都有 SD 卡了,不如就直接上文件系统,否则有点大材小用了

出0入198汤圆

 楼主| 发表于 2019-2-13 22:07:26 | 显示全部楼层
myxiaonia 发表于 2019-2-13 21:59
不错不错,其实有个数据库的话很多时候也不需要文件系统了


是的,EasyFlash 新版本可以存储的对象种类更多了,比文件系统省资源,还具有掉电保护、磨损平衡,应用面也会更广。

出0入0汤圆

发表于 2019-2-13 23:32:14 | 显示全部楼层
楼主厉害,谢谢分享

出0入0汤圆

发表于 2019-2-14 08:42:19 | 显示全部楼层
感谢分享,准备下载测试一下.

出0入0汤圆

发表于 2019-2-14 08:55:58 | 显示全部楼层
谢谢分享

出0入8汤圆

发表于 2019-2-14 09:04:40 | 显示全部楼层
我就想问下 大文件支持 V4.1 什么时候发布

出0入0汤圆

发表于 2019-2-14 09:41:01 | 显示全部楼层
Easy Flash 4.0 支持,加油,继续完善!

出0入0汤圆

发表于 2019-2-14 09:45:03 | 显示全部楼层
文档如果能有pdf格式就好了

出0入0汤圆

发表于 2019-2-14 09:51:30 | 显示全部楼层
谢谢楼主的无私开源,我只能拱手拜谢了!!!

出0入0汤圆

发表于 2019-2-14 10:14:27 | 显示全部楼层
赞赞赞

出0入0汤圆

发表于 2019-2-14 10:15:38 | 显示全部楼层
感谢楼主的分享,过年都能沉下心来写代码,用过以前版本的EasyFlash,很好用,谢谢,看来我也得把我的工程更新成你这个新版本了

出0入0汤圆

发表于 2019-2-14 10:25:16 | 显示全部楼层
谢谢分享,下载学习

出0入0汤圆

发表于 2019-2-14 10:49:36 | 显示全部楼层
厉害了,赞一下!

出0入0汤圆

发表于 2019-2-14 11:03:57 | 显示全部楼层
膜拜大神,感谢分享。

出0入0汤圆

发表于 2019-2-14 11:09:31 | 显示全部楼层

谢谢分享

出0入8汤圆

发表于 2019-2-14 12:19:09 | 显示全部楼层
很厉害,还没用过,会尝试尝试

出0入0汤圆

发表于 2019-2-14 12:19:41 | 显示全部楼层
不错,谢谢!!分享

出0入0汤圆

发表于 2019-2-14 21:42:34 | 显示全部楼层
这个要怎么用的啊,要配套什么硬件吗。

出0入0汤圆

发表于 2019-2-14 21:48:10 | 显示全部楼层
是通过串口专门刷stm32吗

出0入0汤圆

发表于 2019-2-14 22:49:30 | 显示全部楼层
本人用不着也顶一下。

出0入0汤圆

发表于 2019-2-15 09:36:44 | 显示全部楼层
感谢大神分享,持续关注!相关已经在项目中使用了,谢谢

出0入0汤圆

发表于 2019-2-15 13:51:11 | 显示全部楼层
支持龙哥。
之前的版本还没来得及研究,就出新版本了。我要抓紧时间,一定研究下。

出0入0汤圆

发表于 2019-2-15 15:15:24 | 显示全部楼层
人到中年代码越来越难码了

出0入0汤圆

发表于 2019-2-16 09:03:01 | 显示全部楼层
感谢大神分享。

出0入0汤圆

发表于 2019-2-16 11:15:25 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2019-2-16 11:17:31 | 显示全部楼层
我有个小问题,我是想存储运行过程中的参数,那我怎么操作呢?
我是每次都需要建立相应的键名称,然后存储对应的键值,还是能只需要建立一次键名称,以后直接增加存储的键值呢?
举个例子,每次存储转速和温度,是先建立speed1,temperature1,然后存储数值,下次speed2,temperature2,继续存储键值,这么一直下去,还是能直接建立speed,temperature,然后依次存储数值?
我不知道我表达清楚了没有,谢谢。

出0入0汤圆

发表于 2019-2-16 14:22:32 | 显示全部楼层
感谢楼主,下载学习学习

出0入4汤圆

发表于 2019-2-16 16:02:17 | 显示全部楼层
很习惯楼主的开源软件,非常好用!!!

出0入4汤圆

发表于 2019-2-16 16:57:27 | 显示全部楼层
喜欢楼主的东西

出0入0汤圆

发表于 2019-2-16 17:18:23 | 显示全部楼层
好东西要顶!

出0入198汤圆

 楼主| 发表于 2019-2-16 19:59:51 | 显示全部楼层
kebaojun305 发表于 2019-2-14 09:04
我就想问下 大文件支持 V4.1 什么时候发布

看大家支持的热情喽,如果 4.0 使用反馈较好,没啥问题,应该会很快推进

出0入198汤圆

 楼主| 发表于 2019-2-16 20:00:54 | 显示全部楼层
zhongsandaoren 发表于 2019-2-14 09:45
文档如果能有pdf格式就好了

这些文档都是 Markdown 格式的,方便编辑更新

本地随便安装一个 Markdown 编辑器就能查看了

出0入198汤圆

 楼主| 发表于 2019-2-16 20:01:45 | 显示全部楼层
gujingji 发表于 2019-2-14 10:15
感谢楼主的分享,过年都能沉下心来写代码,用过以前版本的EasyFlash,很好用,谢谢,看来我也得把我的工程 ...

多谢支持~期待后面听到大家更多的意见

出0入198汤圆

 楼主| 发表于 2019-2-16 20:02:49 | 显示全部楼层
juncheng88 发表于 2019-2-14 21:42
这个要怎么用的啊,要配套什么硬件吗。

压缩包里有 demo 还有教程文档,使用起来很简单,随便找个 STM32 板子就能跑

出0入198汤圆

 楼主| 发表于 2019-2-16 20:03:50 | 显示全部楼层
zhutr99 发表于 2019-2-15 15:15
人到中年代码越来越难码了

呵呵,要学习 linus 这样大神嘛

出0入198汤圆

 楼主| 发表于 2019-2-16 20:04:30 | 显示全部楼层
powerlabor001 发表于 2019-2-16 11:17
我有个小问题,我是想存储运行过程中的参数,那我怎么操作呢?
我是每次都需要建立相应的键名称,然后存储 ...

使用很简单的,不知道你有没有看 demo 里的示例代码呢?

出0入0汤圆

发表于 2019-2-16 22:13:25 | 显示全部楼层
这下感觉好多了。
头像被屏蔽

出0入0汤圆

发表于 2019-2-19 23:23:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2019-2-19 23:31:37 | 显示全部楼层
感谢! 支持!  

出0入0汤圆

发表于 2019-2-20 08:03:27 | 显示全部楼层
支持,支持!
头像被屏蔽

出0入0汤圆

发表于 2019-2-20 08:17:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2019-2-20 15:14:29 | 显示全部楼层
强烈支持楼主!
头像被屏蔽

出0入0汤圆

发表于 2019-2-20 17:23:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入198汤圆

 楼主| 发表于 2019-2-20 17:34:34 | 显示全部楼层
18501501628 发表于 2019-2-20 17:23
作者在吗,现在测试spi flash设置EF_WRITE_GRAN=1,运行到函数
static EfErrCode write_status(uint32_t ad ...

把 EF_ASSERT(size % 4 == 0);  这句删了就行了,当时多虑了。

最新的  GitHub 上已经删掉了

出0入0汤圆

发表于 2019-2-20 17:57:48 | 显示全部楼层
太酷了,楼主辛苦了

出0入0汤圆

发表于 2019-2-22 09:44:22 | 显示全部楼层
楼主 EasyFlash-master\demo\env\stm32f4xx\RVMDK   文件夹下为啥没有工程文件。

出0入0汤圆

发表于 2019-2-22 13:54:42 | 显示全部楼层
sunnydragon 发表于 2019-2-16 20:03
呵呵,要学习 linus 这样大神嘛

请问一下,4.0版本目前单个kv,可以支持多的?我有数组结构20k左右,可以存进去吗?

出0入0汤圆

发表于 2019-2-22 16:40:37 | 显示全部楼层
好东西,很有实用价值!

出0入8汤圆

发表于 2019-2-23 21:16:20 | 显示全部楼层
感谢楼主啊,保持关注~~

出0入198汤圆

 楼主| 发表于 2019-2-25 11:08:30 | 显示全部楼层
acai039033 发表于 2019-2-22 09:44
楼主 EasyFlash-master\demo\env\stm32f4xx\RVMDK   文件夹下为啥没有工程文件。

可以用 IAR 版本,之前做 demo 的时候没有安装 MDK5

出0入198汤圆

 楼主| 发表于 2019-2-25 11:11:01 | 显示全部楼层
syj0925 发表于 2019-2-22 13:54
请问一下,4.0版本目前单个kv,可以支持多的?我有数组结构20k左右,可以存进去吗? ...

4.0 版本单个 KV 长度不允许超过 扇区大小

出0入0汤圆

发表于 2019-2-25 11:37:48 | 显示全部楼层
sunnydragon 发表于 2019-2-25 11:11
4.0 版本单个 KV 长度不允许超过 扇区大小

我现在移植到我的wifi模组上,扇区是4k,但是存入2808bytes,发现读出来长度为空,不知道是不是配置问题?

出0入0汤圆

发表于 2019-2-25 11:51:18 | 显示全部楼层
赞赞赞, 佩服楼主,正在膜拜中

出0入0汤圆

发表于 2019-2-28 08:59:23 | 显示全部楼层
我的配置参数:
    #define EF_ERASE_MIN_SIZE    (4 * 1024)  
    #define EF_WRITE_GRAN    32
    #define EF_START_ADDR (0X1DD000)
    #define ENV_AREA_SIZE (25 * EF_ERASE_MIN_SIZE)

实测发现:ef_set_env_blob函数 单个参数最大存储为2047bytes,超过就会提示:[Flash]Error: The ENV (@0x001DD084) CRC32 check failed!

以下是成功存储一个2047大小的参数,打印参数列表如下:
    test=0
    __ver_num__=blob @0x001DD080 4bytes
    devobj=blob @0x001E087C 800bytes
    sysruninfo=blob @0x001E0BCC 248bytes
    zienode=blob @0x001E1050 2047bytes

请问有人遇到和我一样的问题吗?

出0入198汤圆

 楼主| 发表于 2019-2-28 09:02:41 | 显示全部楼层
syj0925 发表于 2019-2-28 08:59
我的配置参数:
    #define EF_ERASE_MIN_SIZE    (4 * 1024)  
    #define EF_WRITE_GRAN    32

用的是哪种 Flash ,有没有用 4.0 自带的 demo 呢。

出0入0汤圆

发表于 2019-2-28 09:10:27 | 显示全部楼层
sunnydragon 发表于 2019-2-28 09:02
用的是哪种 Flash ,有没有用 4.0 自带的 demo 呢。

使用的rtl8711am 模组里的spi flash。ef_port是参考demo的来移植,现在遇到问题是参数大小被限制在2047,其它功能暂时没发现异常,flashlog的存储和导出都正常。

出0入198汤圆

 楼主| 发表于 2019-2-28 09:13:36 | 显示全部楼层
syj0925 发表于 2019-2-28 09:10
使用的rtl8711am 模组里的spi flash。ef_port是参考demo的来移植,现在遇到问题是参数大小被限制在2047, ...

如果是 SPI Flash 可以参考 4.0 的 SPI FLash demo

SPI Flash 擦除粒度 EF_WRITE_GRAN  是 1bit ,而不是你配置的 32bit,这块你改下再试试

出0入0汤圆

发表于 2019-2-28 09:35:02 | 显示全部楼层
sunnydragon 发表于 2019-2-28 09:13
如果是 SPI Flash 可以参考 4.0 的 SPI FLash demo

SPI Flash 擦除粒度 EF_WRITE_GRAN  是 1bit ,而不 ...

改成#define EF_WRITE_GRAN    1
测试还是一样的结果。

有个疑问:比如spi flash粒度是1,如果把EF_WRITE_GRAN配置为8 16 32,应该都没问题吧,这个参数应该只是设计到ef_port模块里面的read/write的对齐吧?

出0入8汤圆

发表于 2019-2-28 09:41:44 | 显示全部楼层
佩服楼主,同时感谢楼主的无私精神。下载学习使用,感谢!

出0入198汤圆

 楼主| 发表于 2019-2-28 10:01:31 | 显示全部楼层
syj0925 发表于 2019-2-28 09:35
改成#define EF_WRITE_GRAN    1
测试还是一样的结果。

想办法运行下自带的 SPI Flash demo 吧,这样好做对比。

我这边 SPI Flash 一直在用,挺正常的。

出0入0汤圆

发表于 2019-2-28 10:10:21 | 显示全部楼层
高手,大公无私!

出0入0汤圆

发表于 2019-2-28 10:46:50 | 显示全部楼层
sunnydragon 发表于 2019-2-28 10:01
想办法运行下自带的 SPI Flash demo 吧,这样好做对比。

我这边 SPI Flash 一直在用,挺正常的。 ...

赞!
上次跟您提到的LOG存储方面的问题,不知道是不是问题?

出0入198汤圆

 楼主| 发表于 2019-2-28 14:08:55 | 显示全部楼层
闪客 发表于 2019-2-28 10:46
赞!
上次跟您提到的LOG存储方面的问题,不知道是不是问题?

不太一样,这个是 4.0 新版本,完全重写的新模式,你也可以试试哈

出0入0汤圆

发表于 2019-3-1 16:40:13 | 显示全部楼层
sunnydragon 发表于 2019-2-28 10:01
想办法运行下自带的 SPI Flash demo 吧,这样好做对比。

我这边 SPI Flash 一直在用,挺正常的。 ...

谢谢指导,问题已经确认了,我底层的 spi_write,调用SDK有长度限制,修改后解决了。

现在又遇到一个新问题:
        我存储zigbee节点的参数大小为2808,发现调用ef_set_env_blob("zignode", &s_zig_list, sizeof(xt_zig_list));重写多次后,参数没掉了。
        看了easyflash 4.0的设计原理,会自动回收脏数据,应该不会出现同一个key,导致数据存满的问题吧?

出0入0汤圆

发表于 2019-3-1 20:44:33 | 显示全部楼层
谢谢楼主分享

出0入198汤圆

 楼主| 发表于 2019-3-1 20:50:46 | 显示全部楼层
syj0925 发表于 2019-3-1 16:40
谢谢指导,问题已经确认了,我底层的 spi_write,调用SDK有长度限制,修改后解决了。

现在又遇到一个新 ...

不会的,还是建议你在 demo 平台上做下对比,我这边在 demo 平台测试不存在问题。

出0入0汤圆

发表于 2019-3-2 18:57:51 | 显示全部楼层
nice !!!!!!

出0入0汤圆

发表于 2019-3-6 12:52:16 | 显示全部楼层
easyflash和sfud是个什么关系?

出0入0汤圆

发表于 2019-3-6 18:48:41 | 显示全部楼层
没看懂该怎么用,用在哪些地方

出0入0汤圆

发表于 2019-3-6 19:17:20 | 显示全部楼层
谢谢分享

出0入198汤圆

 楼主| 发表于 2019-3-6 20:17:14 | 显示全部楼层
zhongsandaoren 发表于 2019-3-6 12:52
easyflash和sfud是个什么关系?

SFUD 是万能 SPI Flash 驱动库,支持几乎市面上所有常见的 SPI Flash,主要是驱动 Flash,提供读、写、擦接口。

EasyFlash 是嵌入式 Flash 闪存库,提供参数存取等实用功能。EasyFlash 的这些功能都是基于 Flash,这些 Flash 可以是 MCU 片内,也可以是片外的 SPI Flash。

所以 SFUD 比 EasyFlash 低一层,负责给 EasyFlash 提供片外 Flash 驱动支持。

出0入198汤圆

 楼主| 发表于 2019-3-6 20:18:00 | 显示全部楼层
qq635274216 发表于 2019-3-6 18:48
没看懂该怎么用,用在哪些地方

最常见的用户是存储产品上的一些设定参数,你可以下载下来,试试里面提供的 demo

出0入0汤圆

发表于 2019-3-7 10:58:23 | 显示全部楼层
sunnydragon 发表于 2019-3-6 20:17
SFUD 是万能 SPI Flash 驱动库,支持几乎市面上所有常见的 SPI Flash,主要是驱动 Flash,提供读、写、擦 ...

所以如果是片外SPI的FLASH,可以同时使用底层的SFUD驱动,并使用easyflash作为应用层喽,因为还没用过,请问easyflash对于SFUD和自己编写的flash底层驱动的结合一样方便吗?另外应用层easyflash是不是不局限于片内、SPI、nand、nor等接口?谢谢楼主解答。

出0入0汤圆

发表于 2019-3-7 11:09:39 | 显示全部楼层
关注,有时间再学习,希望以后能用到项目中
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-29 06:46

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

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