Alex.Pan
Alex.Pan
@armink 今天自己研究了easyflash的代码,我觉得easyflash存储数据大了以后,速度变慢,主要是因为每次都要从flash的首地址开始按照扇区查找并确定各个扇区的状态。 ef_cfg.h中,对norflash的最小擦除粒度是4K,由于还有32和64K的block,我是否可以将最小擦除粒度修改为64K,这样每次查找的次数就会减少16倍? 不知道我理解的对不对
@HuanDeng 我在之前使用EasyFlash的时候,也遇到类似的情况。 经过一段时间的实践,EasyFlash和FlashDB不太适合使用在过大的内存空间里。 最好的使用场景是对一些kv进行配置,存储空间最好不要超过1M。 太大以后(例如32M),当存储的数据比较多的时候,查找会比较耗时。 我后来的方案就是留512K,给easyflash存储配置数据。其他的数据,使用了littlefs来进行存储。 @armink 老大,不知我的解释是否正确。 我看esp-idf里面也是这样的。NVS其实类似flashdb的功能,存储kv,文件系统存储其他数据。
@armink 有没有可能,为了兼容已有的功能,我同时使用easyflash和flashDB; 我是32M的Flash,留2M给easyFlash,跑log和OTA 其他的用flashDB,分区存储各种数据 不知道这个方案是否可行?