System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 非易失性存储器的数据更新方法、系统、设备及存储介质技术方案_技高网

非易失性存储器的数据更新方法、系统、设备及存储介质技术方案

技术编号:40148075 阅读:6 留言:0更新日期:2024-01-24 00:44
本发明专利技术涉及一种非易失性存储器的数据更新方法、系统、设备及存储介质,方法包括:控制器上电运行状态下,执行s210至s220;s210,调用云平台,使云平台基于目标程序的上一版本的第一变量数据集、目标程序的当前版本的第二变量数据集、未发布的预设标定文件及预设的数据整合工具,确定第一目标文件;未发布的预设标定文件用于标定第一预设地址段的地址;第一预设地址段为在RAM区中为目标程序的版本变更过程的变量数据预设的中转地址段;s220,接收来自云平台的第一目标文件,并基于第一目标文件确定目标程序的版本变更后的第三变量数据集;s230,控制器下电的情况下,将第三变量数据集更新至非易失性存储器中的对应地址。

【技术实现步骤摘要】

本专利技术涉及存储器的数据处理领域,特别是涉及非易失性存储器的数据更新方法、系统、设备及存储介质


技术介绍

1、在嵌入式在开发过程中,一些数据需要在控制器下电后存储在非易失性存储器中,例如可编程只读存储器(electrically erasable programmable read only memory,eeprom)中,非易失性存储器变量具有掉电保存的属性。以非易失性存储器为eeprom为例,控制器复位后,程序在随机存取存储器(random access memory,ram)中开辟eeprom变量的运行区,并按照地址映射关系将eeprom变量映射到ram区。程序运行过程中,接收到存eeprom的指令后,会将ram中变化的eeprom变量的镜像按照地址映射关系回写到eeprom区,实现了eeprom变量的更新和保存。

2、在项目开发过程中,为了实现程序的兼容性和继承性,一般会在eeprom变量定义区增加、减少或重新排序eeprom变量,该变化会导致编译器对实际ram量的物理地址重新分配,但eeprom区的内容没有随之分配,即破坏了eeprom区和ram区的地址映射关系,导致程序在复位之后,读取到的eeprom数据呈现乱码,这种情况下只能是清除eeprom,但该种方式会有清除重要数据的风险。

3、现有技术中,可以通过开发相应的脚本,针对相应的情况进行相应的处理,但是这种方法需要进一步开发相应的脚本,且方法的灵活性已经适用性比较受限制。

4、因此,需要提供一种能够在eeprom区的eeprom变量变化后,能够灵活不受变量变更限制地,对ram区和eeprom区中的变量和地址的对应关系进行校正,同时不影响之前程序运行的非易失性存储器的数据更新方法。


技术实现思路

1、本专利技术提供一种非易失性存储器的数据更新方法、系统、设备及存储介质,用以提供一种能够在eeprom区的eeprom变量变化后,能够灵活不受变量变更限制地,对ram区和eeprom区中的变量和地址的对应关系进行校正,同时不影响之前程序运行的非易失性存储器的数据更新方法。

2、本专利技术提供一种非易失性存储器的数据更新方法,应用于控制器,所述方法包括:控制器上电运行状态下,执行步骤210和步骤220;步骤210,调用云平台,使云平台基于目标程序的上一版本的第一变量数据集、目标程序的当前版本的第二变量数据集、未发布的预设标定文件,以及预设的数据整合工具,确定第一目标文件;所述未发布的预设标定文件用于标定第一预设地址段的地址;所述第一预设地址段为:在随机存取存储器ram区中,为目标程序的版本变更过程的变量数据预设的中转地址段;步骤220,接收来自云平台的第一目标文件,并基于所述第一目标文件确定目标程序的版本变更后的第三变量数据集;步骤230,控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址。

3、在其中一个实施例中,在所述控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址之前,所述方法还包括:将所述第三变量数据集更新至第一预设地址段和ram区的第二预设地址段;所述第二预设地址段为预设的用于存储目标程序运行中的变量数据集的地址段。

4、在其中一个实施例中,所述将所述第三变量数据集更新至第一预设地址段和ram区的第二预设地址段,包括:将所述第三变量数据集更新至第一预设地址段;在接收到来自云平台的触发指令的情况下,将第一预设地址段的第三变量数据集更新至ram区的第二预设地址段。

5、在其中一个实施例中,所述控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址,包括:触发一次假下电,使控制器处于下电状态下,将第二预设地址段的第三变量数据集,更新至非易失性存储器中的对应地址。

6、在其中一个实施例中,在所述步骤210之前,所述方法还包括:将目标程序的上一版本的第一变量数据集,从非易失性存储器中,读取到随机存取存储器ram区的第一预设地址段中;通过空中下载技术将所述第一预设地址段中的第一变量数据集,上传至云平台。

7、在其中一个实施例中,所述将目标程序的上一版本的第一变量数据集,从非易失性存储器中,读取到随机存取存储器ram区的第一预设地址段中,包括:使第一变量数据集中的第一个数据存储在第一预设地址段的初始地址中,并按照第一变量数据集中的变量的排列顺序,依次将第一变量数据集的变量存储第一预设地址段中对应的地址。

8、在其中一个实施例中,所述第二变量数据集保存在第二目标文件中,所述调用云平台,使云平台基于目标程序的上一版本的第一变量数据集、目标程序的当前版本的第二变量数据集、未发布的预设标定文件以及预设的数据整合工具,确定第一目标文件,包括:通过空中下载技术调用云平台,使云平台基于目标程序的上一版本的第一变量数据集、第二目标文件、未发布的预设标定文件以及预设的数据整合工具,确定第一目标文件;所述第一目标文件和第二目标文件为编译好的能够被控制器识别的文件。

9、本专利技术提供一种非易失性存储器的数据更新系统,所述系统包括:本地设备、云平台和控制器;所述控制器包括随机存取存储器ram和非易失性存储器;所述本地设备,用于提供用户界面,以便于开发人员配置目标程序的变量在控制器的ram中的保存地址,也便于开发人配置相应的未发布的预设标定文件,并用于编译生成生成第二目标文件,并用于将所述未发布的预设标定文件和第二目标文件上传至云平台;所述云平台,用于接收来自控制器上传的目标程序的上一版本的第一变量数据集;并用于接收来自本地设备上传的未发布的预设标定文件以及第二目标文件;还用于响应于控制器的调用,基于预设的数据整合工具,确定第一目标文件;所述控制器用于执行上述任一项非易失性存储器的数据更新方法。

10、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述非易失性存储器的数据更新方法的步骤。

11、一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述非易失性存储器的数据更新方法的步骤。

12、上述非易失性存储器的数据更新方法、系统、设备及存储介质,通过未发布的预设标定文件,便于后续基于预设的数据整合工具进行程序版本变更前后变量的整合,并且,通过设置ram区的第一预设地址段,使程序版本变更前的变量以及程序版本变更前的变量均存储在第一预设地址段中,从而为程序版本变更前后的变量提供一个中间变量存储区,便于变量的整合,同时又因为采用的是未发布的预设标定文件,因此,也不影响程序运行中变量在ram区的存储。此外,通过采用预设的数据整合工具,结合未发布的预设标定文件,进行变量变更前后的数据整合,与自己编写的程序进行数据整合相比,不需要自己编写相应的程序,还适用于多种变量变化的场景,从而更加节省人力成本和灵活。

本文档来自技高网...

【技术保护点】

1.一种非易失性存储器的数据更新方法,其特征在于,应用于控制器,所述方法包括:

2.如权利要求1所述非易失性存储器的数据更新方法,其特征在于,在所述控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址之前,所述方法还包括:将所述第三变量数据集更新至第一预设地址段和RAM区的第二预设地址段;所述第二预设地址段为预设的用于存储目标程序运行中的变量数据集的地址段。

3.如权利要求2所述非易失性存储器的数据更新方法,其特征在于,所述将所述第三变量数据集更新至第一预设地址段和RAM区的第二预设地址段,包括:

4.如权利要求2所述非易失性存储器的数据更新方法,其特征在于,所述控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址,包括:触发一次假下电,使控制器处于下电状态下,将第二预设地址段的第三变量数据集,更新至非易失性存储器中的对应地址。

5.如权利要求1所述非易失性存储器的数据更新方法,其特征在于,在所述步骤210之前,所述方法还包括:

6.如权利要求5所述非易失性存储器的数据更新方法,其特征在于,所述将目标程序的上一版本的第一变量数据集,从非易失性存储器中,读取到随机存取存储器RAM区的第一预设地址段中,包括:

7.如权利要求1所述非易失性存储器的数据更新方法,其特征在于,所述第二变量数据集保存在第二目标文件中,所述调用云平台,使云平台基于目标程序的上一版本的第一变量数据集、目标程序的当前版本的第二变量数据集、未发布的预设标定文件以及预设的数据整合工具,确定第一目标文件,包括:

8.一种非易失性存储器的数据更新系统,其特征在于,所述系统包括:本地设备、云平台和控制器;所述控制器包括随机存取存储器RAM和非易失性存储器;

9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其特征在于,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述非易失性存储器的数据更新方法的步骤。

10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述非易失性存储器的数据更新方法的步骤。

...

【技术特征摘要】

1.一种非易失性存储器的数据更新方法,其特征在于,应用于控制器,所述方法包括:

2.如权利要求1所述非易失性存储器的数据更新方法,其特征在于,在所述控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址之前,所述方法还包括:将所述第三变量数据集更新至第一预设地址段和ram区的第二预设地址段;所述第二预设地址段为预设的用于存储目标程序运行中的变量数据集的地址段。

3.如权利要求2所述非易失性存储器的数据更新方法,其特征在于,所述将所述第三变量数据集更新至第一预设地址段和ram区的第二预设地址段,包括:

4.如权利要求2所述非易失性存储器的数据更新方法,其特征在于,所述控制器下电的情况下,将所述第三变量数据集更新至非易失性存储器中的对应地址,包括:触发一次假下电,使控制器处于下电状态下,将第二预设地址段的第三变量数据集,更新至非易失性存储器中的对应地址。

5.如权利要求1所述非易失性存储器的数据更新方法,其特征在于,在所述步骤210之前,所述方法还包括:

6.如权利要求5所述非易失性存储器的数据更新方法,其特征...

【专利技术属性】
技术研发人员:李富民史家涛陈娜娜李峰卫文晋马彦徐龙增李树伟
申请(专利权)人:潍柴动力股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1