|
发表于 2018-3-21 14:17:08
|
显示全部楼层
请教一下楼主,最近在试用您开源的 EasyFlash,目前 ENV 功能基本上调好了,但是 Log 的功能目前还是不会用。 请教一下:
1、Flash初始化之后,调用 ef_log_get_used_size() 查询到使用量为0
2、然后建立了一个测试数组,写入日志
u32 log[3]={123,456,789};
ef_log_write(log, 12);
遇到的现象,第一次写入后,使用 ef_log_get_used_size() 查询使用量是 64, 重复第二次写入相同的数据, 查询使用量变成了 96, 第三次写入后,查询到的使用量是 120, 这个我就糊涂了, 怎么重复写入相同的数据, 每次的使用量的增量不一致呢? 那这种情况下, 我读数据就不知道怎么做了, 比如我写入了 10次log,想要使用 ef_log_read(size_t index, uint32_t *log, size_t size); 函数读取中间3次的log,不知道参数怎么确定了。
其实我的应用也很简单,按照一定的时间间隔(比如1分钟)往Flash里面存数据,数据不需要删除,不需要改写, 而且每组数据的写入量是一致的, 只要存储器满了之后,能循环覆盖就可以了。 然后需要的时候,我能读取中间一些组数据。 这个功能 EasyFlash 的Log功能能实现吗? |
|