armink / EasyFlash

Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB
MIT License
2.02k stars 766 forks source link

关于查询flash已使用空间 #74

Closed yanlutian closed 5 years ago

yanlutian commented 5 years ago

作者你好,我已经使用easyflash很久了,一直用来作为系统参数保存的首选方案,但是我看了手册,好像没有发现如何查看ENV容量使用情况的api,期待您的回复。谢谢

armink commented 5 years ago

是的,这块没有开放,不过可以使用 ef_print_env 查看具体情况。

这样能满足你的需求不

yanlutian commented 5 years ago

嗯 我通过观察ef_print_env函数输出,不仅看到了空间使用情况,还大概知道了easyflash存储参数的方式,原来是动态改变位置的。中途还发生了小插曲:ef_cfg.h中的EF_START_ADDR值初始值是使用STM32偏上flash的,而我用的是单独的SPI FLASH,这个地址忘了改了,那天发现了以后就想着赶紧修正回来,结果ef_init的时候直接给我ef_env_set_default全部参数重置了,后来调试发现是因为修改EF_START_ADDR值后,ef认为flash中有脏数据,哈哈哈,最最最重要的是,这个事发生在已经投用的厂区的设备上,为此第二天还跑去“维护”了下,长记性了。

armink commented 5 years ago

哈哈~~看到 EasyFlash 能正式用在你们的产品上,很高兴……