一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

程序升级方法、装置和电子设备与流程

2023-09-08 00:03:18 来源:中国专利 TAG:

技术特征:
1.一种程序升级方法,其特征在于,控制器的程序包括待升级程序和升级数据包,所述升级数据包用于升级所述待升级程序,包括:至少从所述待升级程序和所述升级数据包中提取目标公共代码,得到修改后的所述待升级程序和修改后的所述升级数据包,并将所述目标公共代码存储至目标flash区域,所述目标flash区域为所有的flash区域中的一个,所述目标公共代码至少为所述待升级程序和所述升级数据包的公共代码;接收上位机发送的升级指令,所述升级指令用于表征升级所述修改后的所述待升级程序的指令;根据所述升级指令,将所述目标flash区域中的所述目标公共代码复制到运行内存中,并运行所述运行内存中的所述目标公共代码,并根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包,以采用所述修改后的所述升级数据包升级所述修改后的所述待升级程序,所述目标运行标志位为所述修改后的所述升级数据包的唯一标志。2.根据权利要求1所述的方法,其特征在于,所述升级指令还包括待升级程序名称,所述待升级程序名称用于表征存储有所述目标公共代码的所述待升级程序的名称,所述待升级程序名称与所述修改后的所述待升级程序的名称相同,在接收上位机发送的升级指令之前,所述方法还包括:将区域映射关系存储至所述控制器的数据库中,所述区域映射关系用于表征所述待升级程序的名称与用于存储所述待升级程序和对应的所述升级数据包之间的所述公共代码的所述flash区域的位置的映射关系;根据所述升级指令,将所述目标flash区域中的所述目标公共代码复制到运行内存中,包括:根据所述升级指令中的所述待升级程序名称和所述区域映射关系,确定所述目标flash区域的位置;根据所述目标flash区域的位置,将所述目标flash区域中的所述目标公共代码复制到所述运行内存中。3.根据权利要求1所述的方法,其特征在于,根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包,包括:确定所述修改后的所述升级数据包中是否存在与所述目标运行标志位相同的运行标志位,在所述修改后的所述升级数据包中存在与所述目标运行标志位相同的运行标志位的情况下,运行所述修改后的所述升级数据包。4.根据权利要求1所述的方法,其特征在于,根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包,包括:在所述修改后的所述升级数据包中不存在与所述目标运行标志位相同的运行标志位的情况下,生成标志位错误报文,所述标志位错误报文用于表征所述升级指令中的所述目标运行标志位错误的报文;接收所述上位机发送的修改后的所述升级指令,所述修改后的所述升级指令包括对应的所述目标运行标志位;根据所述修改后的所述升级指令中的所述目标运行标志位,运行所述修改后的所述升级数据包。
5.根据权利要求1所述的方法,其特征在于,所述升级指令还包括待升级程序目标版本,所述待升级程序目标版本为所述待升级程序需要升级的目标版本,至少从所述待升级程序和所述升级数据包中提取目标公共代码,包括:根据所述待升级程序目标版本,确定与所述待升级程序对应的所述升级数据包;根据所述待升级程序以及所述对应的所述升级数据包,确定所述目标公共代码;从所述待升级程序以及所述对应的所述升级数据包中提取所述目标公共代码。6.根据权利要求1所述的方法,其特征在于,所述升级指令还包括待升级程序目标版本,所述待升级程序目标版本为所述修改后的所述待升级程序需要升级的目标版本,在根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包之后,所述方法还包括:比较所述待升级程序目标版本和待升级程序当前版本,得到比较结果,所述待升级程序当前版本为所述修改后的所述待升级程序在当前时刻的版本;在所述比较结果为所述待升级程序目标版本和所述待升级程序当前版本相同的情况下,生成升级成功报文,所述升级成功报文为所述修改后的所述待升级程序升级成功的报文;在所述比较结果为所述待升级程序目标版本和所述待升级程序当前版本不相同的情况下,生成升级失败报文,所述升级失败报文为所述修改后的所述待升级程序升级失败的报文。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述待升级程序为应用程序,所述升级数据包为升级程序,所述升级程序用于升级所述应用程序,至少从所述待升级程序和所述升级数据包中提取目标公共代码,得到修改后的所述待升级程序和修改后的所述升级数据包,包括:从所述应用程序和所述升级程序中提取所述目标公共代码,得到修改后的所述应用程序和修改后的所述升级程序;根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包,包括:根据所述升级指令中的所述目标运行标志位,运行所述修改后的所述升级程序,以采用所述修改后的所述升级程序升级所述修改后的所述应用程序,所述升级指令用于表征升级所述修改后的所述应用程序的指令。8.根据权利要求1至6中任一项所述的方法,其特征在于,所述控制器的程序还包括应用程序,所述待升级程序为升级程序,所述升级数据包为引导程序,所述引导程序用于升级所述升级程序,所述升级程序用于升级所述应用程序,至少从所述待升级程序和所述升级数据包中提取目标公共代码,得到修改后的所述待升级程序和修改后的所述升级数据包,包括:从所述应用程序、所述升级程序和所述引导程序中提取所述目标公共代码,得到修改后的所述应用程序、修改后的所述升级程序和修改后的所述引导程序;根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包,包括:根据所述升级指令中的所述目标运行标志位,运行所述修改后的所述引导程序,以采用所述修改后的所述引导程序升级所述修改后的所述升级程序,所述升级指令为升级所述修改后的所述升级程序的指令。9.一种程序升级装置,其特征在于,控制器的程序包括待升级程序和升级数据包,所述
升级数据包用于升级所述待升级程序,包括:第一存储单元,用于至少从所述待升级程序和所述升级数据包中提取目标公共代码,得到修改后的所述待升级程序和修改后的所述升级数据包,并将所述目标公共代码存储至目标flash区域,所述目标flash区域为所有的flash区域中的一个,所述目标公共代码至少为所述待升级程序和所述升级数据包的公共代码;接收单元,用于接收上位机发送的升级指令,所述升级指令用于表征升级所述修改后的所述待升级程序的指令;第一处理单元,用于根据所述升级指令,将所述目标flash区域中的所述目标公共代码复制到运行内存中,并运行所述运行内存中的所述目标公共代码,并根据所述升级指令中的目标运行标志位,运行所述修改后的所述升级数据包,以采用所述修改后的所述升级数据包升级所述修改后的所述待升级程序,所述目标运行标志位为所述修改后的所述升级数据包的唯一标志。10.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至8中任意一项所述的程序升级方法。

技术总结
本申请提供了一种程序升级方法、装置和电子设备,该方法通过提取目标公共代码,得到修改后的待升级程序和修改后的升级数据包,并将目标公共代码存储至目标FLASH区域,本方案中只在FLASH区域中存储了一次目标公共代码,所以在FLASH区域中存储的代码总数减少了;后续让目标公共代码直接在运行内存中运行,在FLASH区域中只需要运行修改后的升级数据包,相比现有技术在FLASH区域中运行待升级程序和升级数据包的方案来说大大减少了FLASH区域运行的代码数量,进而减少了FLASH使用率,也没有增加设备的成本,进而解决了现有技术中解决升级过程中FLASH资源紧张问题的更换MUC方案容易导致成本较高的问题。易导致成本较高的问题。易导致成本较高的问题。


技术研发人员:徐龙增 陈娜娜 李富民 魏骞骞 潘小峰
受保护的技术使用者:潍坊潍柴动力科技有限责任公司
技术研发日:2023.06.28
技术公布日:2023/9/6
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表