100 在lua中如何现实掉电不丢失的变量,需要存到某一个存储块吗?

在lua中如何现实掉电不丢失的变量,需要存到某一个存储块吗?

请先 登录 后评论

最佳答案 2018-08-24 12:42

1、nvm基于文件实现,ota远程升级默认不会擦除其中保存的参数
2、如果ota远程升级后需要把nvm中存储的参数恢复为新版本的默认值,则在下载完升级包重启前调用nvm.remove()接口即可
3、nvm.set和nvm.sett接口,可控制是否立即写入文件,每写一次文件就会有写一次flash的操作,flash都有寿命的,例如8955的flash最多允许完全写10万次。如果连续有多行代码都要保存参数,就可以前几行保存时不要立即写入文件,最后一行保存时才立即写入文件,这样做可以减少不必要的flash擦写,即使有时微不足道,也能延长flash的寿命
请先 登录 后评论

其它 1 个回答

冷红林
擅长:互联网

参考一下NVM DEMO「https://github.com/openLuat/Luat_2G_RDA_8955/tree/master/script_LuaTask/demo/nvm」,类似于单片机的EEPROM,将数据保存到其中,开机的时候在读取初始化。就实现了掉电不丢失变量。

请先 登录 后评论
  • 3 关注
  • 1 收藏,2851 浏览
  • qin0036 提出于 2018-08-24 00:30

相似问题