本申请属于通信技术领域,具体涉及一种嵌入式软件升级方式的切换方法、装置、设备及介质。本申请旨在解决嵌入式设备无法将全量升级方式切换至差分升级方式的问题。通过接收服务器发送的全量升级数据,将全量升级包和FOTA应用程序烧录至待烧录分区,若待烧录分区位于存储分区的第一空间、当前版本分区位于存储分区的第二空间,则在获取差分升级包后,将差分升级包存储于第二空间;若待烧录分区位于存储分区的第二空间、当前版本分区位于存储分区的第一空间,则在全量升级包下载完成后,将全量升级包从第二空间移动至第一空间,实现对当前版本分区的数据覆盖,并删除待烧录分区中的数据以供差分升级包的存储,保证嵌入式软件的顺利升级。
背景技术
嵌入式软件指的是运行在嵌入式设备上的系统软件,通常由实时操作系统(RealTime Operating System,RTOS),驱动软件,协议和相应应用组成。嵌入式软件在实际应用过程中会不断的进行升级,从而对软件中的漏洞(英文:bug)进行修复,完善并加强软件的功能,为用户提供更好的服务。
目前,嵌入式软件升级有全量升级和差分升级两种方式,针对于全量升级来说,嵌入式设备需要下载新版本的嵌入式软件,并将新版本的嵌入式软件烧录至存储分区(如FLASH分区)中预先保留的用于版本升级的空间中。然而随着嵌入式软件中功能的不断增加,新版本的嵌入式软件所需要的空间也逐渐增大,预留的空间无法保证能够满足嵌入式软件的升级需求。针对于差分升级来说,嵌入式设备需要下载用于差分升级的差分升级包,并根据该差分升级包以及现有版本的嵌入式软件,对现有版本的嵌入式软件进行升级。由于差分升级包的大小通常为现有版本的嵌入式软件大小的5%,嵌入式设备只需要预留较小的空间,就能满足嵌入式软件的升级需求。因此,现有的嵌入式设备通常使用差分升级方式对嵌入式软件进行升级。
然而,由于早期生产的嵌入式设备使用的生产方式通常为全量升级,无法保证能够满足嵌入式软件的升级需求。因此,如何将全量升级方式切换至差分升级方式,保证嵌入式软件的顺利升级是亟待解决的问题。
实现思路