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

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

本帖最后由 sishuiruhuo 于 2019-10-24 11:57 编辑
) K$ \7 V( i: h( }6 F
9 V- U- s. V+ q( w/ W5 x# x) m$ }( hbsp:stm32f405-smdz-breadfruit。/ z& z2 f0 U+ L! t
rtthread:4.0.2。
9 [, W1 [# z5 u5 g4 p+ N# \Fal:latest。
0 f; o- d2 q' E, _$ J: ?% lEasyFlash:4.0.99。3 ^# ?0 [% d6 O# e7 ]
更新最新版本的easyflash,解决了不能自动写入默认环境变量, ef_set_env_blob或ef_set_env,flash会在最后添加环境变量,不会删除原来已经有的环境变量。先删除环境变量ef_del_env在写入环境变量,也是同样的结果。! {. P1 Y$ Q8 N' i8 f5 {. ?
用ef_del_env删除变量,flash中其实并没有删除。 ef_print_env()没有打印出删除的变量。, S% r. ]9 \+ Y
例如:默认环境变量"iap_need_copy_app" 修改环境变量ef_set_env("iap_need_copy_app","12588")。修改的话会一直在后面添加,有人遇到过吗?还是我配置错误?
5 n* U  j) ^! p# h; b& J
: N5 b# w) o' Dflash截图:* E8 T& P7 `# u% `  a0 W$ o6 ^  Z

' B( K" D+ w- k9 s2 C; k

flash截图

flash截图
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-11-1 11:27:17 | 显示全部楼层
本帖最后由 zhangjun 于 2019-11-1 11:28 编辑 & e$ p' ^3 `8 }' Z5 v
& P% P+ p* X; W9 q
这是因为easyflash实现了擦写平衡,总是先使用使用次数少的flash区域,而不是总是擦写当前区域,不然一块区域擦除次数多了就会容易坏。所以采用的策略是先将删除的变量标记为无效,然后将新的数据写在后面没用过的地址,当空间不够时才会使用之前标记为无效的区域。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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