EasyFlash修改变量,会一直添加,不会删除

发表在 FAL2019-10-24 11:03 [复制链接] 1 317

本帖最后由 sishuiruhuo 于 2019-10-24 11:57 编辑
5 N* @- {1 b! J) p4 b8 R. R! [- l% ~; {. F% V* `/ U
bsp:stm32f405-smdz-breadfruit。
3 s4 V7 s# P% G+ G- zrtthread:4.0.2。& D2 n6 D% N# s1 S# W
Fal:latest。" C1 x4 q  g+ ?  S# `
EasyFlash:4.0.99。( d$ G7 C0 w7 S9 U
更新最新版本的easyflash,解决了不能自动写入默认环境变量, ef_set_env_blob或ef_set_env,flash会在最后添加环境变量,不会删除原来已经有的环境变量。先删除环境变量ef_del_env在写入环境变量,也是同样的结果。  f7 C' m+ I, n& z/ V
用ef_del_env删除变量,flash中其实并没有删除。 ef_print_env()没有打印出删除的变量。6 h9 @6 `/ ?9 [
例如:默认环境变量"iap_need_copy_app" 修改环境变量ef_set_env("iap_need_copy_app","12588")。修改的话会一直在后面添加,有人遇到过吗?还是我配置错误?
4 Z3 v* _, H) {$ T' A% m! a4 A! E0 r
flash截图:
+ ]% x: |+ z# i: s, M; J1 B5 j8 a# }# N! r$ E) P. g" J( R1 ^* ]( H

flash截图

flash截图
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-11-1 11:27:17 | 显示全部楼层
本帖最后由 zhangjun 于 2019-11-1 11:28 编辑
' k" Z) I! h) s7 G/ y" x' q+ D0 g0 f$ x( \5 @! T' v
这是因为easyflash实现了擦写平衡,总是先使用使用次数少的flash区域,而不是总是擦写当前区域,不然一块区域擦除次数多了就会容易坏。所以采用的策略是先将删除的变量标记为无效,然后将新的数据写在后面没用过的地址,当空间不够时才会使用之前标记为无效的区域。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  1. 3 主题
  2. 143 帖子
  3. 143 积分

Ta的主页 发消息

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

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