【技术实现步骤摘要】
使用norflash模拟eeprom的方法
本申请属于嵌入式系统的数据读写领域,更具体地,涉及使用norflash模拟eeprom的方法。
技术介绍
嵌入式安全应用中,通常是单芯片系统,需要用到可按字节读写的eeprom存储介质。但eeprom价格较贵,芯片内部存储介质通常为norflash。norflash的特点是:只能按页擦除,按字(4字节)写入;需要修改数据时,必须先擦除整页,再写入数据;且norflash可靠擦写寿命为10万次。而实际应用中会频繁修改关键业务数据,为延长芯片使用寿命,可考虑使用芯片内的大容量的norflash模拟小容量的eeprom,将频繁修改的业务数据存放于模拟的eeprom中。申请号为200910194936.1的专利申请描述了一种掉电保护方法:每个数据块增加4字节的标志位,根据标志位进行掉电保护相关操作。但该方法未对标志位的有效性进行校验,如果由于电磁环境发生变化导致标志位发生bit位翻转,会产生错误操作,进而丢失关键数据或者产生更多的错误数据。申请号为201110449693.9的专利申请描述了另一种嵌入式存储器的读写优化方法,其在ram中建立一个二维数组映射表访问数据。但该方法使用ram资源较多,并且没有对ram中数据进行有效性校验,此外也没有考虑掉电保护。
技术实现思路
有鉴于此,本申请实施例提供了一种能够提供可靠掉电保护并保证数据有效性的模拟eeprom的方法。第一方面,本申请实施例提供了一种使用norflash模拟eeprom的方法, ...
【技术保护点】
1.一种使用norflash模拟eeprom的方法,其特征在于,所述方法包括:/n将norflash分为初始化区、数据区、替换区、整理区;/n在初始化区存入初始化标记、密钥和初始化区校验值,所述密钥用于对存储在norflash的数据进行加密;/n将数据区划分为多个物理页,数据区物理页与eeprom逻辑页映射,以模拟eeprom进行数据写入和读出,物理页存储使用密钥加密后的对应逻辑页数据和根据对应逻辑页数据生成的数据校验值;/n写入数据后,将当前写入的物理页与eeprom逻辑页间的映射关系以及成功写入标记存储在替换区作为记录;/n当替换区写满时,将数据区物理页与eeprom逻辑页间的最新映射关系拷贝到整理区,然后在整理区写入成功拷贝标记,并将整理区数据拷贝回已擦除的替换区,最后擦除整理区。/n
【技术特征摘要】
1.一种使用norflash模拟eeprom的方法,其特征在于,所述方法包括:
将norflash分为初始化区、数据区、替换区、整理区;
在初始化区存入初始化标记、密钥和初始化区校验值,所述密钥用于对存储在norflash的数据进行加密;
将数据区划分为多个物理页,数据区物理页与eeprom逻辑页映射,以模拟eeprom进行数据写入和读出,物理页存储使用密钥加密后的对应逻辑页数据和根据对应逻辑页数据生成的数据校验值;
写入数据后,将当前写入的物理页与eeprom逻辑页间的映射关系以及成功写入标记存储在替换区作为记录;
当替换区写满时,将数据区物理页与eeprom逻辑页间的最新映射关系拷贝到整理区,然后在整理区写入成功拷贝标记,并将整理区数据拷贝回已擦除的替换区,最后擦除整理区。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将下列数据存储在ram中作为全局变量:
用于指示当前数据区物理页与eeprom逻辑页间映射关系的数组变量logic2realbuf;
用于指示当前数据区各个物理页是否处于空闲状态的数组变量freepagebit;
用于指示替换区最新可写入地址的变量addrSort;
用于指示数据区最新用到的空闲物理页的变量freeBit
用于对全局变量进行校验的变量memHash。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:采用国密算法对全局变量进行加密。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括根据下列步骤对norflash进行上电初始化:
步骤11,上电后,根据初始化区校验值对初始化区的数据进行校验,如果校验不通过,则先擦除norflash所有物理页,再将数据区物理页与eeprom逻辑页的初始映射关系写入替换区,并将初始化标记、密钥和初始化区校验值写入初始化区,然后进入步骤12;如果校验通过,直接进入步骤12;
步骤12,检查整理区的成功拷贝标记是否正确,如果正确,则擦除替换区后将整理区数据拷贝回已擦除的替换区,然后擦除整理区,再进入步骤13;如果不正确,则直接进入步骤13;
步骤13,遍历替换区,提取有效记录,根据有效记录更新ram中的全局变量。
5.根据权利要求4所述的方法,其特征在于,根据有效记录更新ram中的全局变量包括:
根据有效记录的存储地址设置addrSort;
将数据区物理页与eeprom逻辑页间最新映射关系保存到数组变量logic2realbuf;
根据数据区物理页的空闲状态设置变量freepagebit;
初始化freeBit为0;
计算全局变量的校验值并给memHash赋值。
6.根据权利要求2所述的方法,其特征在于,写入数...
【专利技术属性】
技术研发人员:王招凯,范丽,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。