V4.0 在设计时,已经做到接口完全兼容旧版本,所以如果你的应用使用的是旧版本,那么无需修改任何源代码即可做到无缝迁移。
V4.0 底层对于 ENV 的存储使用的 blob 格式,所以增加如下 blob 操作接口,替代 V3.0 的基于字符串的接口
size_t ef_get_env_blob(const char *key, void *value_buf, size_t buf_len, size_t *value_len)
EfErrCode ef_set_env_blob(const char *key, const void *value_buf, size_t buf_len)
以下接口在 V4.0 中仍然可用,但已经由于种种原因被废弃,可能将会在 V5.0 版本中被正式删除
char *ef_get_env(const char *key)
EfErrCode ef_save_env(void)
EfErrCode ef_set_and_save_env(const char *key, const char *value)
EfErrCode ef_del_and_save_env(const char *key)
size_t ef_get_env_write_bytes(void)
- 删除 EF_ENV_USING_WL_MODE:V4.0 原生支持磨损平衡,无需额外开启
- 删除 EF_ENV_USING_PFS_MODE:V4.0 自带掉电保护功能,无需额外开启
- 删除 ENV_USER_SETTING_SIZE:V4.0 无需 RAM 缓存
- 增加 EF_WRITE_GRAN :详见移植文档
- 建议使用 ef_get_env_blob 接口替代 ef_get_env,使用方法详见 API 文档
- V4.0 无需额外执行保存动作,所以使用这些接口的代码在 V4..0 无意义,可以移除
- ef_save_env
- ef_set_and_save_env
- ef_del_and_save_env