本发明涉及软件升级,特别是涉及一种iap升级方法、一种iap升级装置、一种电子设备和一种存储介质。
背景技术:
1、随着家电类等电子产品不断升级换代,产品功能迭代升级加快,现许多mcu(microcontroller unit,微控制单元)支持iap(in application programing,在应用编程)功能进行在线升级用户程序,以快速便捷的更新用户程序,而不需要进行icp(incircuit programing,在电路编程)。
2、目前的iap升级方法的实现方案是,在mcu中集成iap功能对整个flash(闪存)程序区进行iap操作,程序在boot(启动)区运行时可能由于程序指针操作失误或其它因素导致iap操作误将自身的boot程序擦除改写,从而引起iap升级失败,且boot区程序也无法再次正常运行,导致产品发生故障。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种iap升级方法、一种iap升级装置、一种电子设备和一种存储介质。
2、在本发明的第一个方面,本发明实施例公开了一种iap升级方法,包括:
3、在运行启动程序期间,读取到升级指令时,获取应用程序;
4、读取所述启动程序的程序存储占用信息;
5、基于所述程序存储占用信息,确定所述启动程序对应的第一物理地址范围,所述第一物理地址范围包括第一物理末地址;
6、偏移至所述第一物理末地址烧录所述应用程序。
7、可选地,所述方法还包括:
8、获取所述启动程序;
9、基于物理零地址烧录所述启动程序。
10、可选地,所述程序存储占用信息存储于系统区;所述读取所述启动程序的程序存储占用信息的步骤包括:
11、跳转至所述系统区对应的地理地址;
12、从所述系统区对应的地理地址中,读取所述程序存储占用信息。
13、可选地,所述基于所述程序存储占用信息,确定所述启动程序对应的第一物理地址范围的步骤包括:
14、在物理零地址上叠加所述程序存储占用信息,生成第一物理末地址;
15、确定所述物理零地址至所述第一物理末地址为所述启动程序对应的第一物理地址范围。
16、可选地,所述偏移至所述第一物理末地址烧录所述应用程序的步骤包括:
17、跳转至所述第一物理末地址;
18、基于所述第一物理末地址确定第二物理地址范围,所述第二物理地址范围包括第二物理首地址;
19、从所述第二物理首地址开始烧录所述应用程序。
20、可选地,所述方法用于与微控制器,所述微控制器对应有闪存末地址;所述基于所述第一物理末地址确定第二物理地址范围的步骤包括:
21、对所述第一物理末地址加一,得到第二物理首地址;
22、确定所述第二物理首地址值至所述闪存末地址为第二物理地址范围。
23、可选地,所述方法还包括:
24、在所述应用程序运行时,获取当前程序地址;
25、在所述当前程序地址上叠加所述第一物理末地址,生成所述应用程序对应的指针地址;
26、基于所述指针地址执行所述应用程序的程序指令。
27、在本发明的第二个方面,本发明实施例还公开了一种iap升级装置,包括:
28、应用程序获取模块,用于在运行启动程序期间,读取到升级指令时,获取应用程序;
29、读取模块,用于读取所述启动程序的程序存储占用信息;
30、第一物理地址范围确定模块,用于基于所述程序存储占用信息,确定所述启动程序对应的第一物理地址范围,所述第一物理地址范围包括末地址;
31、烧录模块,用于偏移至所述第一物理末地址烧录所述应用程序。
32、在本发明的第三个方面,本发明实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的iap升级方法的步骤。
33、在本发明的第四个方面,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权上所述的iap升级方法的步骤。
34、本发明实施例包括以下优点:
35、在本发明实施例中,通过在运行启动程序期间,读取到升级指令时,获取应用程序;读取所述启动程序的程序存储占用信息;基于所述程序存储占用信息,确定所述启动程序对应的第一物理地址范围,所述第一物理地址范围包括第一物理末地址;偏移至所述第一物理末地址烧录所述应用程序。通过基于启动程序的程序存储占用信息确定启动程序对应的第一物理地址范围,从而实现在物理地址中对启动程序和应用程序进行分区,并且对启动程序的物理地址进行锁定,避免应用程序对启动程序进行擦写,降低启动程序的失效风险,保证升级过程的实现,提高iap升级成功率。
1.一种iap升级方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述程序存储占用信息存储于系统区;所述读取所述启动程序的程序存储占用信息的步骤包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述程序存储占用信息,确定所述启动程序对应的第一物理地址范围的步骤包括:
5.根据权利要求1所述的方法,其特征在于,所述偏移至所述第一物理末地址烧录所述应用程序的步骤包括:
6.根据权利要求5所述的方法,其特征在于,所述方法用于与微控制器,所述微控制器对应有闪存末地址;所述基于所述第一物理末地址确定第二物理地址范围的步骤包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种iap升级装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的iap升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的iap升级方法的步骤。