【技术实现步骤摘要】
用于校正EEPROM变量与地址的方法、装置和控制器
本申请涉及数据存储
,尤其涉及一种用于校正EEPROM变量与地址的方法、装置和控制器。
技术介绍
EEPROM变量具有掉电保存的属性。控制器复位后,程序在RAM中开辟EEPROM变量的运行区,并按照地址映射关系将EEPROM变量映射到RAM区。程序运行过程中,接收到存EEPROM的指令后,会将RAM中变化的EEPROM变量的镜像按照地址映射关系回写到EEPROM区,实现了EEPROM变量的更新和保存。在项目开发过程中,为了实现程序的兼容性和继承性,一般会在EEPROM变量定义区增加、减少或重新排序EEPROM变量,该变化会导致编译器对实际RAM量的物理地址重新分配,但EEPROM区的内容没有随之分配,即破坏了EEPROM区和RAM区的地址映射关系,导致程序在复位之后,读取到的EEPROM数据呈现乱码,这种情况下只能是清除EEPROM,但该种方式会有清除重要数据的风险。综上所述,需要提供一种能够在EEPROM区的EEPROM变量变化后,对RAM区和EEP ...
【技术保护点】
1.一种用于校正EEPROM变量与地址的方法,其特征在于,包括:/n获取上版本和当前版本程序中,存储在EEPROM区的变量,得到第一变量和第二变量;/n对比所述第一变量和第二变量,提取被修改的第二变量,得到待修改变量名称;/n根据映射关系,获取待修改变量名称在RAM区中的第一存储地址和在EEPROM区的储存内容;/n将所述存储内容赋值至待修改变量名称在RAM区的第一存储地址中;/n清除EEPROM区,将存储内容更新至EEPROM区中的对应地址。/n
【技术特征摘要】 【专利技术属性】
1.一种用于校正EEPROM变量与地址的方法,其特征在于,包括:
获取上版本和当前版本程序中,存储在EEPROM区的变量,得到第一变量和第二变量;
对比所述第一变量和第二变量,提取被修改的第二变量,得到待修改变量名称;
根据映射关系,获取待修改变量名称在RAM区中的第一存储地址和在EEPROM区的储存内容;
将所述存储内容赋值至待修改变量名称在RAM区的第一存储地址中;
清除EEPROM区,将存储内容更新至EEPROM区中的对应地址。
2.根据权利要求1所述的用于校正EEPROM变量与地址的方法,其特征在于,所述获取上版本和当前版本程序中,存储在EEPROM区的变量,得到第一变量和第二变量,包括:
获取上版本程序中,存储在EEPROM区的变量,得到第一变量;
获取当前版本程序中,存储在EEPROM区的变量,得到第二变量。
3.根据权利要求1所述的用于校正EEPROM变量与地址的方法,其特征在于,所述对比所述第一变量和第二变量,提取被修改的第二变量,得到待修改变量名称,包括:
对比对第一变量和第二变量中所有变量的变量内容;
提取第二变量中被修改的变量内容对应的第一变量名称,得到待修改变量名称。
4.根据权利要求1所述的用于校正EEPROM变量与地址的方法,其特征在于,所述根据映射关系,获取待修改变量名称在RAM区中的第一存储地址和在EEPROM区的储存内容,包括:
技术研发人员:苗强,李富民,
申请(专利权)人:潍柴动力股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。