System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种芯片在线升级方法及装置。
技术介绍
1、引导加载程序bootloader是在操作系统内核或用户应用程序运行之前运行的一段程序,bootloader功能用于实现芯片的在线升级,其允许在不物理更新芯片的情况下,通过网络对芯片上的固件或软件应用程序(application,app)进行更新和升级的技术。
2、目前,bootloader基本存放于芯片片内内存中,可能会出现芯片片内内存中软件应用程序被意外触发bootloader功能,若升级失败,则会导致芯片片内内存中的软件应用程序无法正常运行,对软件应用程序造成严重影响。或者,当bootloader功能需要升级时,若升级失败,也可能会导致软件应用程序无法正常运行,那么基于上述两种情况,均导致芯片在线升级的安全性较差。
3、因此,如何提升芯片在线升级的安全性成为了亟需解决的问题。
技术实现思路
1、有鉴于此,本申请实施例提供了一种芯片在线升级方法及装置,旨在提升芯片在线升级的安全性。
2、第一方面,本申请实施例提供了一种芯片在线升级方法,所述方法包括:
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、第二升级单元,用于基于所述片外内存读取所述在线升级数据,根据所述在线升级数据对所述第一应用程序进行升级,得到升级后的第一应用程序。
28、可选地,所述装置还包括:
29、第二运行单元,用于若所述第一应用程序升级失败,则运行所述升级后的第二应用程序。
30、可选地,所述第二升级模块,包括:
31、第三升级单元,用于若通过通信接口接收到针对所述软件应用程序的升级指令和更新数据时,基于所述片外内存读取所述在线升级数据,根据所述在线升级数据和所述更新数据对所述软件应用程序进行升级,得到升级后的软件应用程序;所述更新数据用于指示升级后的软件应用程序应具备的数据。
32、第三方面,本申请实施例提供了一种芯片在线升级设备,所述设备包括:
33、存储器,用于存储计算机程序;
34、处理器,用于执行所述计算机程序,以使所述设备执行前述第一方面所述的芯片在线升级方法。
35、第四方面,本申请实施例提供了一种计算机存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被运行时,运行所述计算机程序的设备实现前述第一方面所述的芯片在线升级方法。
36、相较于现有技术,本申请实施例具有以下有益效果:
37、本申请实施例提供了一种芯片在线升级方法,该方法提供了一种使用片外内存实现芯片在线升级的方案,在线升级数据部署于片外内存,该方法包括:通过通信接口与芯片片内内存建立连接,该芯片片内内存用于存储软件应用程序。若接收到针对在线升级数据的升级指令时,则通过芯片对在线升级数据进行编程操作,得到升级后的在线升级数据。由于在线升级和软件应用程序分别存储于片外内存和片内内存中,因此,单独针对在线升级数据进行升级,并不影响软件应用程序的正常运行,从而从针对在线升级数据进行升级的角度,提升了芯片在线升级的安全性。若接收到针对软件应用程序的升级指令时,基于片外内存读取在线升级数据,根据在线升级数据对软件应用程序进行升级,得到升级后的软件应用程序。由于在线升级数据单独存储于片外内存中,因此,在软件应用程序运行过程中不会意外本文档来自技高网...
【技术保护点】
1.一种芯片在线升级方法,其特征在于,在线升级数据部署于片外内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述软件应用程序包括第一应用程序和第二应用程序,所述若接收到针对所述软件应用程序的升级指令时,基于所述片外内存读取所述在线升级数据,根据所述在线升级数据对所述软件应用程序进行升级,得到升级后的软件应用程序,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述若接收到针对所述软件应用程序的升级指令时,基于所述片外内存读取所述在线升级数据,根据所述在线升级数据对所述软件应用程序进行升级,得到升级后的软件应用程序,包括:
7.一种芯片在线升级装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述软件应用程序包括第一应用程序和第二应用程序,所述第二升级模块,包括:
9
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述芯片在线升级方法。
...【技术特征摘要】
1.一种芯片在线升级方法,其特征在于,在线升级数据部署于片外内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述软件应用程序包括第一应用程序和第二应用程序,所述若接收到针对所述软件应用程序的升级指令时,基于所述片外内存读取所述在线升级数据,根据所述在线升级数据对所述软件应用程序进行升级,得到升级后的软件应用程序,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法...
【专利技术属性】
技术研发人员:莫李宁,党远德,李酉,吴静,赖鹏,陈永胜,王士民,丁贤后,
申请(专利权)人:深圳市雷能混合集成电路有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。