使用NVRAM的简单解决方案

本文探讨了在NVRAM中管理数据的简单方法,包括如何在启动时初始化NVRAM,通过签名识别已初始化状态,以及确保数据完整性的策略。使用签名和错误检查如校验和或CRC来验证数据,是保证NVRAM中信息准确性的关键步骤。对于嵌入式设计,适当地适应这些功能可以简化NVRAM的使用。
摘要由CSDN通过智能技术生成

许多供应商提供专为NVRAM使用的现成文件系统软件。除非要求某些专门功能,否则开发人员自行设计在经济上会所产生的问题。数据结构的存储主要是针对特定应用程序的,因此将进一步解决。

非易失性使用普通的易失RAM很简单。上电时必须将其初始化为一个已知值,然后可以根据需要对其进行写入和读取。借助NV-SRAM,面临两个新挑战:

•开机时,软件需要识别NVRAM是否已初始化,如果尚未初始化,请执行该初始化。
•数据的完整性,尤其是断电一段时间后,需要进行验证。
在这里插入图片描述
NVRAM初始化
首次启动NVRAM时,就像普通RAM一样,它包含不确定的数据,需要初始化。在随后的情况下,软件需要识别NVRAM已初始化,并且不会覆盖此保存的数据。

进行这种识别的最简单方法是使用签名,该签名只是可以快速识别的字节序列,不能随机出现。这种理想是不可能的,因为任何字节序列(无论多长)都可能随机发生。只是最大程度地减少这种可能性,同时仍然使检查变得快捷容易。如果签名只有4个字节,则随机发生签名的可能性为40亿比1。对于几乎所有可以想象的应用程序来说已经足够了。并且可以快速检查32位值。

通过仔细选择签名值便可以减少意外发生的机会。一个连续的数字序列(例如1、2、3、4)比“随机”集合感觉不太可能。毕竟彩票最后一次是什么时候产生连续的数字序列的?当然这种序列与其他序列一样可能或不太可能。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值