【技术实现步骤摘要】
本专利技术涉及嵌入式参数存储
,尤其涉及一种嵌入式系统中基于闪存存储器进行参数存储的方法。
技术介绍
在嵌入式系统领域,一般要求所存储的参数具有掉电不丢失、可修改、可擦除的特性,由于受产品的空间大小、生产成本、功率消耗等因素的限制,一般都采用闪存(FLASH)存储器作为存储装置。目前,在嵌入式系统中一般都采用文件系统,将参数以文件的形式存储在闪存(FLASH)存储器上。由于文件系统一般需要占用闪存(FLASH)存储器多个块区,以保证系统的正常运行,但实际需要存储的参数仅占用几十K的空间,造成不必要的空间浪费。对于另外不用文件系统直接进行存储的方法,一般是在对参数进行修改时,先将数据备份到内存中,然后将相关参数区的闪存(FLASH)块进行擦除,再将需要修改的参数区和其它未变更的参数区重新写入闪存存储器。此种方法虽然可以避免空间浪费,但是当需要存储的参数比较多时,需要在内存中开辟的备份空间就会很大,对内存容量的要求比较高。同时,对于没有后备电池的系统而言,一旦系统发生突然停电,很容易造成参数的丢失。
技术实现思路
针对上述问题,本专利技术提供了一种嵌入式系统中基于闪存存储器进行参数存储的方法。为解决上述问题,本专利技术采取的技术方案为:一种嵌入式系统中基于闪存存储器进行参数存储的方法,包括以下步骤:步骤一、参数区的划分:将闪存存储器参数区划分为参数区1和参数区2,每个参数区又划分为有效数据存储区、CRC校验区和计数器区,所述的有效数据存储区存放各种有效参数值,并为每一参数类型分配固定的空间大小、固定的相对偏移量和相应的存储位置,使每一个参数类型都有一个确定 ...
【技术保护点】
一种嵌入式系统中基于闪存存储器进行参数存储的方法,其特征在于包括以下步骤:步骤一、参数区的划分:将闪存存储器参数区划分为参数区1和参数区2,每个参数区又划分为有效数据存储区、CRC校验区和计数器区,所述的有效数据存储区存放各种有效参数值,并为每一参数类型分配固定的空间大小、固定的相对偏移量和相应的存储位置;所述的CRC校验区存放通过CRC算法计算出的有效数据存储区内所有数据的CRC校验值;所述的计数器区存放两个参数区每次操作后的操作次数累加值;步骤二、第一有效参数区的选择:对比两个参数区的计数器值大小,并选择计数器值大的参数区根据CRC算法计算有效数据存储区内所有数据的CRC校验值,并与已存储的CRC值进行对比,若一致则参数区完整,数据值未遭到破坏,采用该参数区作为有效参数区运行;若不一致则数据值遭到破坏,启用第二参数区进行再次对比,若一致则采用第二参数区作为有效参数区运行,若不一致则全部擦除后写入默认参数并运行;步骤三、参数变更:对新写入的数据回读后与原始数据进行对比,对于写入不正确的数据,全部擦除后再次写入,对于多次写入后始终不正确的情况,及时产生告警信息;步骤四、结果输出:产生参 ...
【技术特征摘要】
1.一种嵌入式系统中基于闪存存储器进行参数存储的方法,其特征在于包括以下步骤:步骤一、参数区的划分:将闪存存储器参数区划分为参数区1和参数区2,每个参数区又划分为有效数据存储区、CRC校验区和计数器区,所述的有效数据存储区存放各种有效参数值,并为每一参数类型分配固定的空间大小、固定的相对偏移量和相应的存储位置;所述的CRC校验区存放通过CRC算法计算出的有效数据存储区内所有数据的CRC校验值;所述的计数器区存放两个参数区每次操作后的操作次数累加值;步骤二、第一有效参数区的选择:对比两个参数区的计数器值大小,并选择计数器值大的参数区根据CRC算法计算有效数据存储区内所有数据的CRC校验值,并与已存储的CRC值进行对比,若一致则参数区完整,数据值未遭到破坏,采用该参数区作为有效参数区运行;若不一致则数据值遭到破坏,启用第二参数区进行再次对比,若一致则采用第二参数区作为有效参数区运行,若不一致则全部擦除后写入默认参数并运行;步骤三、参数变更:对新写入的数据回读后与原始数据进行对比,对于写入不正确的数据,全部擦除后再次写入,对于多次写入后始终不正确的情况,及时产生告警信息;步骤四、结果输出:产生参数变更失败或参数变更成功提示信息。2.根据权利要求1所述的一种嵌入式系统中基于闪存存储器进行参数存储的方法,其特征在于所述的步骤二具体实现如下:S1、判断是否是系统复位,若否则进入步骤三,若是则比较参数区1和参数区2的计数器值Count1和Count2,若Count1大于等于Count2,则进入S2,否则进入S4;S2、获取参数区1和参数区2存储的CRC值RecordCRC1和RecordCRC2,同时根据CRC算法对参数区1和参数区2的有效数据存储区进行CRC值计算,分别得出CountCRC1和CountCRC2,若RecordCRC1等于CountCRC1,则参数区1内数据值正常,选择此区为第一有效参数区,进入步骤三;否则判断RecordCRC2是否等于CountCRC2,若是则参数区2内数据值正常,选择此区为第一有效参数区,进入步骤三;若否则参数区...
【专利技术属性】
技术研发人员:衡泽超,赵辉,宁晨光,郑宝毅,宋忠强,刘亮,贾凯,薛坤,赵长收,王福斌,王春城,
申请(专利权)人:积成电子股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。