CN103106092A - 终端设备中系统软件升级方法和装置 - Google Patents
终端设备中系统软件升级方法和装置 Download PDFInfo
- Publication number
- CN103106092A CN103106092A CN2013100522596A CN201310052259A CN103106092A CN 103106092 A CN103106092 A CN 103106092A CN 2013100522596 A CN2013100522596 A CN 2013100522596A CN 201310052259 A CN201310052259 A CN 201310052259A CN 103106092 A CN103106092 A CN 103106092A
- Authority
- CN
- China
- Prior art keywords
- software
- partition
- software partition
- information
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种终端设备中系统软件升级方法和装置,所述方法包括:终端设备根据软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件;启动的系统软件在运行过程中,若接收到系统软件升级指令,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级;升级成功后,将软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区。由于在主软件分区(如第一软件分区)中的系统软件运行时,对备份软件分区(如第二软件分区)中的系统软件进行升级;这样即使升级失败,也不会影响主软件分区中的系统软件的正常运行,保证了终端设备仍然可以正常启动、运行。
Description
技术领域
本发明涉及嵌入式系统技术,尤其涉及一种终端设备中系统软件升级方法和装置。
背景技术
目前,嵌入式系统软件被广泛应用于通讯领域、工业控制领域、家庭智能设备、国防、医疗等领域。例如,手机、智能电视、机顶盒终端设备、掌上电脑等均采用嵌入式系统,以提供智能化的、具有较好人机交互性能的功能。
目前,基于OTA(Over-the-Air Technology,空间下载技术)的系统软件升级方法因为其升级的便利性在各种终端设备中得到广泛应用;例如,用户可以方便地通过OTA升级方式,通过网络,比如WIFI、3G等,自动下载OTA升级包、自动对手机、或机顶盒终端设备等进行系统软件的升级。
目前,终端设备OTA升级主要有两种方法;第一种是最小系统方法即生成一个称之为Loader(加载器)的最小系统,实现基本的OTA升级功能;然而该升级方法,需要终端设备在系统软件检测到系统软件升级指令后,重新启动后加载运行Loader,以实现基本的OTA升级功能。由于升级过程中,需要终端设备进行重启,不符合升级的规范流程,应用局限性大;
第二种方法是把OTA升级程序包含在系统应用程序之中,由系统应用程序完成。第二种升级方法的升级过程符合规范,但如果升级失败,则终端设备将无法正常启动,无法继续使用,需要重新烧写软件。
综上所述,现有技术的OTA升级方法不能同时满足升级过程符合规范流程,以及在升级失败的情况下仍然保证终端设备的正常启动。
发明内容
本发明实施例提供了一种终端设备中系统软件升级方法和装置,使得系统软件升级过程既符合规范流程,又可以在升级失败的情况下仍然保证终端设备可以正常启动。
根据本发明的一个方面,提供了一种终端设备中系统软件升级方法,包括:
所述终端设备上电后读取系统配置文件中的软件分区信息;根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件;
启动的系统软件在运行过程中,若接收到系统软件升级指令,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区。
较佳地,所述终端设备上电后读取系统配置文件中的软件分区信息;根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件,具体为:
所述终端设备上电后,启动引导程序;
所述引导程序读取系统配置文件中的软件分区信息,根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件。
较佳地,所述根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件具体包括:
所述引导程序在确定所述软件分区信息指示出第一软件分区为主软件分区后,启动第一软件分区中的内核Kernel程序、加载第一软件分区中的根文件系统rootfs;
根据加载的rootfs中的启动系统应用App程序的脚本进行运行的过程中,根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统App程序。
较佳地,在所述引导程序在确定所述软件分区信息指示出第一软件分区为主软件分区后,以及所述启动第一软件分区中的内核Kernel程序之前,还包括:
所述引导程序根据第一软件分区中的徽标Logo显示区域中的内容进行Logo显示。
较佳地,所述软件分区信息具体包括:Logo显示区域信息、Kernel程序启动区域信息、rootfs加载区域信息、系统App程序启动区域信息;以及
指示出第一软件分区为主软件分区的软件分区信息具体包括:
指示出Logo显示区域位于第一软件分区的Logo显示区域信息、指示出Kernel程序启动区域位于第一软件分区的Kernel程序启动区域信息、指示出rootfs加载区域位于第一软件分区的rootfs加载区域信息、指示出系统App程序启动区域位于第一软件分区的系统App程序启动区域信息;以及
指示出第二软件分区为主软件分区的软件分区信息具体包括:
指示出Logo显示区域位于第二软件分区的Logo显示区域信息、指示出Kernel程序启动区域位于第二软件分区的Kernel程序启动区域信息、指示出rootfs加载区域位于第二软件分区的rootfs加载区域信息、指示出系统App程序启动区域位于第二软件分区的系统App程序启动区域信息。
较佳地,在所述将所述软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区后,还包括:
若所述终端设备重启或再次上电后,所述终端设备读取系统配置文件中的软件分区信息;并
根据所述软件分区信息所指示的第二软件分区为主软件分区,启动第二软件分区中的系统软件。
较佳地,在所述根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级后,还包括:
若升级失败,则所述终端设备重启或再次上电后,所述终端设备读取系统配置文件中的软件分区信息;并根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件。
较佳地,所述若接收到系统软件升级指令,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级,具体包括:
启动的系统软件在运行过程中,若接收到系统软件升级指令,则判断下载的新版本的系统软件是否符合升级条件;
若符合升级条件,则根据所述新版本的系统软件对第二软件分区中的系统软件进行升级;
其中,所述升级条件包括以下任一条件,或以下任意条件的组合:所述终端设备的终端型号与所述下载的新版本的系统软件中的终端型号匹配、所述终端设备的用户标识与所述下载的新版本的系统软件中的用户标识匹配、所述终端设备的硬件版本号与所述下载的新版本的系统软件中的硬件版本号匹配、所述新版本大于所述终端设备中的当前版本、所述终端设备的MAC地址在所述新版本的系统软件所指定的MAC地址范围内、所述终端设备的序列号在所述新版本的系统软件所指定的序列号范围内。
根据本发明的另一个方面,还提供了一种终端设备中系统软件升级装置,包括:
系统软件启动模块,用于在所述终端设备上电后,读取系统配置文件中的软件分区信息;若所述软件分区信息指示出第一软件分区/第二软件分区为主软件分区,则启动第一软件分区/第二软件分区中的系统软件;
系统软件升级模块,用于接收到系统软件升级指令后,若判断所述软件分区信息指示出第一软件分区/第二软件分区为主软件分区,则根据下载的新版本的系统软件对第二软件分区/第一软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区/第二软件分区修改为第二软件分区/第一软件分区。
较佳地,所述系统软件启动模块包含于所述终端设备中的引导程序中;以及
所述系统软件升级模块包含于所述终端设备中正在运行的系统软件中。
本发明实施例的技术方案,由于在终端设备中设置两个软件分区:第一软件分区、第二软件分区;轮流作为主软件分区和备份软件分区;在主软件分区(例如第一软件分区)中的系统软件运行时,则对备份软件分区(例如第二软件分区)中的系统软件进行升级;这样,即使对备份软件分区的升级失败,仍然不会影响主软件分区中的系统软件的正常运行,保证了终端设备在升级失败的情况下仍然可以正常启动、运行;而且,在升级过程中不用对终端设备进行重启,系统软件升级过程符合规范流程。
附图说明
图1、3为本发明实施例的终端设备中系统软件升级方法流程图;
图2为本发明实施例的启动系统软件的方法流程图;
图4为本发明实施例的终端设备中系统软件升级装置的内部结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。
本发明的主要思路为,在终端设备中设置两个软件分区;其中一个作为主软件分区,一个作为备份软件分区;在通过系统软件进行OTA升级时,由主软件分区的系统软件执行升级功能:根据下载的新版系统软件对备份软件分区中的系统软件进行升级;这样,如果升级失败,则由于主软件分区的系统软件没有被更改,终端设备在上电、重启后,仍然可以根据主软件分区中的系统软件正常启动。
主软件分区的系统软件在升级成功后,将当前的备份软件分区转换为主软件分区;相应地,当前的主软件分区则转换为备份软件分区。这样,终端设备在上电、重启后,将根据转换后的主软件分区中的新版系统软件进行启动,从而达到系统软件升级的目的;且升级过程中不需要进行终端设备的重启。
下面结合附图详细说明本发明实施例的技术方案。本发明实施例提供的终端设备中,设置了两个软件分区,分别为:第一软件分区和第二软件分区。以第一软件分区为当前的主软件分区、第二软件分区为当前的备份软件分区为例,讲述本发明实施例的系统软件升级方法,具体流程如图1所示,包括如下步骤:
S101:终端设备上电后,启动引导Boot程序。
S102:终端设备读取系统配置文件中的软件分区信息。
具体地,终端设备上电后,启动的Boot程序读取系统配置文件中的软件分区信息。由于在本例中,第一软件分区为当前的主软件分区,因此,软件分区信息是设置为指示第一软件分区为主软件分区的;那么,该指示第一软件分区为主软件分区的软件分区信息同时也表明第二软件分区为备份软件分区。
事实上,软件分区信息的不同取值用以表示不同的信息;一种信息为指示第一软件分区为主软件分区,另一种信息为指示第二软件分区为主软件分区。例如,当软件分区信息的值为1时,其指示第一软件分区为主软件分区;当软件分区信息的值为0时,其指示第二软件分区为主软件分区。
S103:终端设备根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件。启动第一软件分区中的系统软件的具体过程将在后续进行详细介绍。
S104:第一软件分区中的系统软件启动后,若接收到系统软件升级指令,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级。
具体地,第一软件分区中的系统软件启动后,若终端设备中启动的系统软件在运行过程中,接收到系统软件升级指令后,若确认软件分区信息指示第一软件分区为主软件分区,则表明该软件分区信息同时相应指示出了第二软件分区为备份软件分区;第一软件分区中的系统软件根据下载的新版本的系统软件对作为备份软件分区的第二软件分区中的系统软件进行升级。
相应地,若正在运行的系统软件确认软件分区信息指示第二软件分区为主软件分区,则表明该软件分区信息同时相应指示出了第一软件分区为备份软件分区,因此,根据下载的新版本的系统软件对作为备份软件分区的第一软件分区中的系统软件进行升级。
较佳地,启动的系统软件接收到系统软件升级指令后,先判断下载的新版本的系统软件是否符合升级条件;若符合升级条件,则根据所述新版本的系统软件对第二软件分区中的系统软件进行升级;否则,将不执行升级操作。
通常,升级条件可以包括以下任一条件,或以下任意条件的组合:所述终端设备的终端型号与所述下载的新版本的系统软件中的终端型号匹配、所述终端设备的用户标识与所述下载的新版本的系统软件中的用户标识匹配、所述终端设备的硬件版本号与所述下载的新版本的系统软件中的硬件版本号匹配、所述新版本大于所述终端设备中的当前版本、所述终端设备的MAC地址在所述新版本的系统软件所指定的MAC地址范围内、所述终端设备的序列号在所述新版本的系统软件所指定的序列号范围内。
第一软件分区中的系统软件启动后,接收到系统软件升级指令,根据下载的新版本的系统软件进行升级可以有两种具体方式:
一种方式是通过U盘进行升级:通过系统软件提供的本地配置页面,将U盘升级路径配置到系统软件中,并显示升级按钮;在用户点击升级按钮后,终端设备中的系统软件确认接收到系统软件升级指令,并根据配置的U盘升级路径下载新版本的系统软件,根据下载的新版本的系统软件进行升级。
另一种方式是通过HTTP(Hyper Text Transport Protocol,超文本传输协议)网络升级:终端设备中的系统软件的浏览器在接收到服务器下发的升级地址,并识别到升级地址接口后触发系统软件进行升级并向系统软件传递升级地址参数;触发系统软件升级时,正在运行的系统软件确认接收到系统软件升级指令,依据升级地址参数通过HTTP协议下载新版本的系统软件,根据下载的新版本的系统软件对备份软件分区中的系统软件进行升级。
系统软件中通常可以包括:徽标Logo、内核Kernel程序、根文件系统rootfs、系统应用App程序。在进行系统软件升级过程中,可以采用闪存写入(nandwrite)方式对徽标Logo、内核Kernel程序在第二软件分区进行升级;可以采用UBI(Unsorted Block Image,无排序区块图像)分卷方式对根文件系统rootfs、系统应用App程序在第二软件分区进行升级。
在升级过程中,如果因为某些意外的因素导致升级失败,由于是在第二软件分区进行升级,并不涉及对第一软件分区的内容的更改;因此,第一软件分区的系统软件仍然可以正常运行;并在终端设备重启后,Boot程序仍然根据指示第一软件分区为主软件分区的软件分区信息,启动第一软件分区的系统软件运行,从而保证终端设备仍然可以正常运行。
S105:第一软件分区中的系统软件在对第二软件分区中的系统软件升级成功后,修改软件分区信息指示第二软件分区为主软件分区。
具体地,第一软件分区中的系统软件在对第二软件分区中的系统软件升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区。
在第一软件分区中的系统软件将软件分区信息修改为指示第二软件分区为主软件分区的信息后,虽然第二软件分区中的系统软件已经升级完毕,但是第一软件分区中的系统软件仍然处于运行状态。
在终端设备关机、第一软件分区中的系统软件退出后,终端设备再次重启时,终端设备中的Boot程序将根据所述软件分区信息所指示的第二软件分区为主软件分区,启动第二软件分区中的系统软件进行运行;此时,终端设备中运行的是升级后的新版本的系统软件。
事实上,系统软件中通常可以包括:徽标Logo、内核Kernel程序、根文件系统rootfs、系统应用App程序。相应地,软件分区信息具体可以包括:Logo显示区域信息、Kernel程序启动区域信息、rootfs加载区域信息、系统App程序启动区域信息。软件分区信息可使用一个字节的数值表示,Logo显示区域信息、Kernel程序启动区域信息、rootfs加载区域信息、系统App程序启动区域信息可以分别以该字节中的一个比特的值进行表示,如下表1所示:
表1
从上表1可以看出,指示出第一软件分区为主软件分区的软件分区信息具体可以包括:
指示出Logo显示区域位于第一软件分区的Logo显示区域信息、指示出Kernel程序启动区域位于第一软件分区的Kernel程序启动区域信息、指示出rootfs加载区域位于第一软件分区的rootfs加载区域信息、指示出系统App程序启动区域位于第一软件分区的系统App程序启动区域信息。
指示出第二软件分区为主软件分区的软件分区信息具体可以包括:
指示出Logo显示区域位于第二软件分区的Logo显示区域信息、指示出Kernel程序启动区域位于第二软件分区的Kernel程序启动区域信息、指示出rootfs加载区域位于第二软件分区的rootfs加载区域信息、指示出系统App程序启动区域位于第二软件分区的系统App程序启动区域信息。
上述步骤S103中,启动第一软件分区中的系统软件的具体方法,其流程可以如图2所示,包括如下步骤:
S201:引导程序在确定所述软件分区信息指示出第一软件分区为主软件分区后,根据第一软件分区中的徽标Logo显示区域中的内容进行Logo显示。
具体地,引导程序在确定所述软件分区信息指示出第一软件分区为主软件分区后,根据软件分区信息中指示出Logo显示区域位于第一软件分区的Logo显示区域信息,将第一软件分区中的徽标Logo显示区域中的内容调出,并进行Logo显示。
S202:引导程序启动第一软件分区中的内核Kernel程序。
具体地,引导程序根据软件分区信息中指示出Kernel程序启动区域位于第一软件分区的Kernel程序启动区域信息,启动第一软件分区中的内核Kernel程序。
S203:引导程序加载第一软件分区中的根文件系统rootfs。
具体地,引导程序根据软件分区信息中指示出rootfs加载区域位于第一软件分区的rootfs加载区域信息,加载第一软件分区中的根文件系统rootfs。
S204:引导程序根据加载的rootfs中的启动系统应用App程序的脚本进行运行的过程中,根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统App程序。
引导程序根据加载的rootfs中的启动系统应用App程序的脚本进行运行的过程中,根据所述软件分区信息中指示出系统App程序启动区域位于第一软件分区的系统App程序启动区域信息,启动第一软件分区中的系统App程序。
在终端设备根据所述软件分区信息所指示的第二软件分区为主软件分区,启动第二软件分区中的系统软件进行运行后,若需要进行下次系统软件的升级,则升级过程如图3所示,包括如下步骤:
S301:终端设备上电后,启动引导Boot程序。
S302:终端设备读取系统配置文件中的软件分区信息。
S303:终端设备根据所述软件分区信息所指示的第二软件分区为主软件分区,启动第二软件分区中的系统软件。
S304:第二软件分区中的系统软件启动后,若接收到系统软件升级指令,则根据下载的新版本的系统软件对第一软件分区中的系统软件进行升级。
具体地,终端设备中正在运行的系统软件,即第二软件分区中的系统软件,确认软件分区信息指示第二软件分区为主软件分区,则表明该软件分区信息同时相应指示出了第一软件分区为备份软件分区,因此,根据下载的新版本的系统软件对作为备份软件分区的第一软件分区中的系统软件进行升级。
S305:第二软件分区中的系统软件在对第一软件分区中的系统软件升级成功后,修改软件分区信息指示第一软件分区为主软件分区。
在终端设备关机、第二软件分区中的系统软件退出后,终端设备再次重启时,终端设备中的Boot程序将根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中新升级的系统软件进行运行。
本发明实施例提供的终端设备中系统软件升级装置,如图4所示,包括:系统软件启动模块401、系统软件升级模块402。
其中,系统软件启动模块401可以是包含于所述终端设备中的引导程序中,在引导程序启动后运行;
系统软件升级模块402包含于所述终端设备中正在运行的系统软件中,在系统软件的运行过程中,接收系统软件升级指令并进行系统软件的升级操作。
系统软件启动模块401用于在所述终端设备上电后,读取系统配置文件中的软件分区信息;若所述软件分区信息指示出第一软件分区/第二软件分区为主软件分区,则启动第一软件分区/第二软件分区中的系统软件。
具体地,系统软件启动模块401用于在所述终端设备上电后,读取系统配置文件中的软件分区信息;若所述软件分区信息指示出第一软件分区为主软件分区,则启动第一软件分区中的系统软件;若所述软件分区信息指示出第二软件分区为主软件分区,则启动第二软件分区中的系统软件。
系统软件升级模块402用于接收到系统软件升级指令后,若判断所述软件分区信息指示出第一软件分区/第二软件分区为主软件分区,则根据下载的新版本的系统软件对第二软件分区/第一软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区/第二软件分区修改为第二软件分区/第一软件分区。
具体地,系统软件升级模块402用于接收到系统软件升级指令,若判断所述软件分区信息指示出第一软件分区为主软件分区,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区;
若系统软件升级模块402判断所述软件分区信息指示出第二软件分区为主软件分区,则根据下载的新版本的系统软件对第一软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第二软件分区修改为第一软件分区。
本发明实施例的技术方案,由于在终端设备中设置两个软件分区:第一软件分区、第二软件分区;轮流作为主软件分区和备份软件分区;在主软件分区(例如第一软件分区)中的系统软件运行时,则对备份软件分区(例如第二软件分区)中的系统软件进行升级;这样,即使对备份软件分区的升级失败,仍然不会影响主软件分区中的系统软件的正常运行,保证了终端设备在升级失败的情况下仍然可以正常运行、启动;而且,在升级过程中不用对终端设备进行重启,系统软件升级过程符合规范流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种终端设备中系统软件升级方法,其特征在于,包括:
所述终端设备上电后读取系统配置文件中的软件分区信息;根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件;
启动的系统软件在运行过程中,若接收到系统软件升级指令,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区。
2.如权利要求1所述的方法,其特征在于,所述终端设备上电后读取系统配置文件中的软件分区信息;根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件,具体为:
所述终端设备上电后,启动引导程序;
所述引导程序读取系统配置文件中的软件分区信息,根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件。
3.如权利要求2所述的方法,其特征在于,所述根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件具体包括:
所述引导程序在确定所述软件分区信息指示出第一软件分区为主软件分区后,启动第一软件分区中的内核Kernel程序、加载第一软件分区中的根文件系统rootfs;
根据加载的rootfs中的启动系统应用App程序的脚本进行运行的过程中,根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统App程序。
4.如权利要求3所述的方法,其特征在于,在所述引导程序在确定所述软件分区信息指示出第一软件分区为主软件分区后,以及所述启动第一软件分区中的内核Kernel程序之前,还包括:
所述引导程序根据第一软件分区中的徽标Logo显示区域中的内容进行Logo显示。
5.如权利要求4所述的方法,其特征在于,所述软件分区信息具体包括:Logo显示区域信息、Kernel程序启动区域信息、rootfs加载区域信息、系统App程序启动区域信息;以及
指示出第一软件分区为主软件分区的软件分区信息具体包括:
指示出Logo显示区域位于第一软件分区的Logo显示区域信息、指示出Kernel程序启动区域位于第一软件分区的Kernel程序启动区域信息、指示出rootfs加载区域位于第一软件分区的rootfs加载区域信息、指示出系统App程序启动区域位于第一软件分区的系统App程序启动区域信息;以及
指示出第二软件分区为主软件分区的软件分区信息具体包括:
指示出Logo显示区域位于第二软件分区的Logo显示区域信息、指示出Kernel程序启动区域位于第二软件分区的Kernel程序启动区域信息、指示出rootfs加载区域位于第二软件分区的rootfs加载区域信息、指示出系统App程序启动区域位于第二软件分区的系统App程序启动区域信息。
6.如权利要求1-5任一所述的方法,其特征在于,在所述将所述软件分区信息所指示的主软件分区由第一软件分区修改为第二软件分区后,还包括:
若所述终端设备重启或再次上电后,所述终端设备读取系统配置文件中的软件分区信息;并
根据所述软件分区信息所指示的第二软件分区为主软件分区,启动第二软件分区中的系统软件。
7.如权利要求6所述的方法,其特征在于,在所述根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级后,还包括:
若升级失败,则所述终端设备重启或再次上电后,所述终端设备读取系统配置文件中的软件分区信息;并根据所述软件分区信息所指示的第一软件分区为主软件分区,启动第一软件分区中的系统软件。
8.如权利要求7所述的方法,其特征在于,所述若接收到系统软件升级指令,则根据下载的新版本的系统软件对第二软件分区中的系统软件进行升级,具体包括:
启动的系统软件在运行过程中,若接收到系统软件升级指令,则判断下载的新版本的系统软件是否符合升级条件;
若符合升级条件,则根据所述新版本的系统软件对第二软件分区中的系统软件进行升级;
其中,所述升级条件包括以下任一条件,或以下任意条件的组合:所述终端设备的终端型号与所述下载的新版本的系统软件中的终端型号匹配、所述终端设备的用户标识与所述下载的新版本的系统软件中的用户标识匹配、所述终端设备的硬件版本号与所述下载的新版本的系统软件中的硬件版本号匹配、所述新版本大于所述终端设备中的当前版本、所述终端设备的MAC地址在所述新版本的系统软件所指定的MAC地址范围内、所述终端设备的序列号在所述新版本的系统软件所指定的序列号范围内。
9.一种终端设备中系统软件升级装置,其特征在于,包括:
系统软件启动模块,用于在所述终端设备上电后,读取系统配置文件中的软件分区信息;若所述软件分区信息指示出第一软件分区/第二软件分区为主软件分区,则启动第一软件分区/第二软件分区中的系统软件;
系统软件升级模块,用于接收到系统软件升级指令后,若判断所述软件分区信息指示出第一软件分区/第二软件分区为主软件分区,则根据下载的新版本的系统软件对第二软件分区/第一软件分区中的系统软件进行升级;在升级成功后,将所述软件分区信息所指示的主软件分区由第一软件分区/第二软件分区修改为第二软件分区/第一软件分区。
10.如权利要求9所述的装置,其特征在于,所述系统软件启动模块包含于所述终端设备中的引导程序中;以及
所述系统软件升级模块包含于所述终端设备中正在运行的系统软件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100522596A CN103106092A (zh) | 2013-02-18 | 2013-02-18 | 终端设备中系统软件升级方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100522596A CN103106092A (zh) | 2013-02-18 | 2013-02-18 | 终端设备中系统软件升级方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103106092A true CN103106092A (zh) | 2013-05-15 |
Family
ID=48313976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100522596A Pending CN103106092A (zh) | 2013-02-18 | 2013-02-18 | 终端设备中系统软件升级方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103106092A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455348A (zh) * | 2013-08-27 | 2013-12-18 | 小米科技有限责任公司 | 分区调整方法、装置、终端、服务器及系统 |
CN103677940A (zh) * | 2013-12-27 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | T卡跨分区升级操作系统的方法及系统 |
CN104699494A (zh) * | 2013-12-10 | 2015-06-10 | 北京四达时代软件技术股份有限公司 | 固件数据更新方法及系统 |
CN105183525A (zh) * | 2015-10-09 | 2015-12-23 | 深圳市网心科技有限公司 | 一种系统软件的升级方法及实现该升级方法的电子设备 |
CN105700918A (zh) * | 2016-01-05 | 2016-06-22 | 青岛海信移动通信技术股份有限公司 | 一种系统升级方法及装置 |
CN105760200A (zh) * | 2016-02-26 | 2016-07-13 | 晨星半导体股份有限公司 | 终端设备及其系统升级方法 |
CN106020865A (zh) * | 2016-05-10 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 一种系统升级方法和装置 |
CN106210877A (zh) * | 2016-08-17 | 2016-12-07 | 青岛海信电器股份有限公司 | 智能电视的系统升级方法及装置 |
CN106507339A (zh) * | 2016-09-18 | 2017-03-15 | 深圳市青柠互动科技开发有限公司 | 一种智能设备固件的空中升级系统及方法 |
CN106598597A (zh) * | 2016-12-14 | 2017-04-26 | 普华基础软件股份有限公司 | 一种电控单元应用软件刷新方法 |
CN107566140A (zh) * | 2016-07-01 | 2018-01-09 | 中兴通讯股份有限公司 | 一种基于ipmi的远程升级方法及系统 |
CN107729029A (zh) * | 2016-08-10 | 2018-02-23 | 罗伯特·博世有限公司 | 用于运行存储器的方法和装置 |
CN108628619A (zh) * | 2017-03-21 | 2018-10-09 | 比亚迪股份有限公司 | 程序更新方法和装置 |
CN108733668A (zh) * | 2017-04-13 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 用于查询数据的方法和装置 |
CN109101279A (zh) * | 2018-06-26 | 2018-12-28 | 珠海全志科技股份有限公司 | 一种多版本系统的兼容性启动方法 |
CN109673009A (zh) * | 2018-11-13 | 2019-04-23 | 浙江合众新能源汽车有限公司 | 一种vcu软件空中升级方法及装置 |
CN109918142A (zh) * | 2019-03-19 | 2019-06-21 | 深圳创维-Rgb电子有限公司 | 一种软件重启方法、装置、终端及存储介质 |
CN110543321A (zh) * | 2019-09-06 | 2019-12-06 | 深圳市英博超算科技有限公司 | Ota升级方法、装置、终端以及计算机可读存储介质 |
CN110580167A (zh) * | 2018-06-11 | 2019-12-17 | 海能达通信股份有限公司 | 一种系统升级方法、智能设备及服务器 |
CN110619955A (zh) * | 2019-09-20 | 2019-12-27 | 江苏赛诺格兰医疗科技有限公司 | 医疗影像设备中电子设备软件的升级方法及电子设备 |
CN113064611A (zh) * | 2021-03-16 | 2021-07-02 | 上海市共进通信技术有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113824620A (zh) * | 2021-08-20 | 2021-12-21 | 中国第一汽车股份有限公司 | 一种分区切换方法、装置、车辆和存储介质 |
CN114327573A (zh) * | 2021-12-24 | 2022-04-12 | 博为科技有限公司 | 系统升级过程中的flash分区方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101078993A (zh) * | 2007-03-13 | 2007-11-28 | 中兴通讯股份有限公司 | 一种终端产品不中断业务在线升级版本的方法 |
CN101520734A (zh) * | 2008-12-17 | 2009-09-02 | 康佳集团股份有限公司 | 一种升级闪存中数据的方法及其网络电视和交互式机顶盒 |
CN102110000A (zh) * | 2009-12-25 | 2011-06-29 | 康佳集团股份有限公司 | 一种软件自动升级控制方法、装置及设备 |
CN102243594A (zh) * | 2011-07-26 | 2011-11-16 | 重庆大唐科技股份有限公司 | 一种嵌入式linux系统软件安全远程升级的方法 |
CN102654837A (zh) * | 2011-03-03 | 2012-09-05 | 青岛海尔软件有限公司 | 本地用户可控的按日期显示的开机画面更换方法 |
-
2013
- 2013-02-18 CN CN2013100522596A patent/CN103106092A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101078993A (zh) * | 2007-03-13 | 2007-11-28 | 中兴通讯股份有限公司 | 一种终端产品不中断业务在线升级版本的方法 |
CN101520734A (zh) * | 2008-12-17 | 2009-09-02 | 康佳集团股份有限公司 | 一种升级闪存中数据的方法及其网络电视和交互式机顶盒 |
CN102110000A (zh) * | 2009-12-25 | 2011-06-29 | 康佳集团股份有限公司 | 一种软件自动升级控制方法、装置及设备 |
CN102654837A (zh) * | 2011-03-03 | 2012-09-05 | 青岛海尔软件有限公司 | 本地用户可控的按日期显示的开机画面更换方法 |
CN102243594A (zh) * | 2011-07-26 | 2011-11-16 | 重庆大唐科技股份有限公司 | 一种嵌入式linux系统软件安全远程升级的方法 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455348B (zh) * | 2013-08-27 | 2016-07-06 | 小米科技有限责任公司 | 分区调整方法、装置、终端、服务器及系统 |
CN103455348A (zh) * | 2013-08-27 | 2013-12-18 | 小米科技有限责任公司 | 分区调整方法、装置、终端、服务器及系统 |
CN104699494A (zh) * | 2013-12-10 | 2015-06-10 | 北京四达时代软件技术股份有限公司 | 固件数据更新方法及系统 |
CN103677940B (zh) * | 2013-12-27 | 2018-02-13 | 上海斐讯数据通信技术有限公司 | T卡跨分区升级操作系统的方法及系统 |
CN103677940A (zh) * | 2013-12-27 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | T卡跨分区升级操作系统的方法及系统 |
CN105183525A (zh) * | 2015-10-09 | 2015-12-23 | 深圳市网心科技有限公司 | 一种系统软件的升级方法及实现该升级方法的电子设备 |
CN105700918A (zh) * | 2016-01-05 | 2016-06-22 | 青岛海信移动通信技术股份有限公司 | 一种系统升级方法及装置 |
CN105760200A (zh) * | 2016-02-26 | 2016-07-13 | 晨星半导体股份有限公司 | 终端设备及其系统升级方法 |
CN106020865A (zh) * | 2016-05-10 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 一种系统升级方法和装置 |
CN106020865B (zh) * | 2016-05-10 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 一种系统升级方法和装置 |
CN107566140A (zh) * | 2016-07-01 | 2018-01-09 | 中兴通讯股份有限公司 | 一种基于ipmi的远程升级方法及系统 |
CN107729029A (zh) * | 2016-08-10 | 2018-02-23 | 罗伯特·博世有限公司 | 用于运行存储器的方法和装置 |
CN106210877A (zh) * | 2016-08-17 | 2016-12-07 | 青岛海信电器股份有限公司 | 智能电视的系统升级方法及装置 |
CN106507339A (zh) * | 2016-09-18 | 2017-03-15 | 深圳市青柠互动科技开发有限公司 | 一种智能设备固件的空中升级系统及方法 |
CN106598597A (zh) * | 2016-12-14 | 2017-04-26 | 普华基础软件股份有限公司 | 一种电控单元应用软件刷新方法 |
CN108628619A (zh) * | 2017-03-21 | 2018-10-09 | 比亚迪股份有限公司 | 程序更新方法和装置 |
CN108733668A (zh) * | 2017-04-13 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 用于查询数据的方法和装置 |
CN108733668B (zh) * | 2017-04-13 | 2021-10-19 | 百度在线网络技术(北京)有限公司 | 用于查询数据的方法和装置 |
CN110580167A (zh) * | 2018-06-11 | 2019-12-17 | 海能达通信股份有限公司 | 一种系统升级方法、智能设备及服务器 |
CN109101279A (zh) * | 2018-06-26 | 2018-12-28 | 珠海全志科技股份有限公司 | 一种多版本系统的兼容性启动方法 |
CN109673009A (zh) * | 2018-11-13 | 2019-04-23 | 浙江合众新能源汽车有限公司 | 一种vcu软件空中升级方法及装置 |
CN109918142A (zh) * | 2019-03-19 | 2019-06-21 | 深圳创维-Rgb电子有限公司 | 一种软件重启方法、装置、终端及存储介质 |
CN110543321A (zh) * | 2019-09-06 | 2019-12-06 | 深圳市英博超算科技有限公司 | Ota升级方法、装置、终端以及计算机可读存储介质 |
CN110619955A (zh) * | 2019-09-20 | 2019-12-27 | 江苏赛诺格兰医疗科技有限公司 | 医疗影像设备中电子设备软件的升级方法及电子设备 |
CN113064611A (zh) * | 2021-03-16 | 2021-07-02 | 上海市共进通信技术有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113064611B (zh) * | 2021-03-16 | 2024-02-02 | 太仓市同维电子有限公司 | 针对无线设备实现数据分析软件升级的方法及其更新方法 |
CN113824620A (zh) * | 2021-08-20 | 2021-12-21 | 中国第一汽车股份有限公司 | 一种分区切换方法、装置、车辆和存储介质 |
CN114327573A (zh) * | 2021-12-24 | 2022-04-12 | 博为科技有限公司 | 系统升级过程中的flash分区方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103106092A (zh) | 终端设备中系统软件升级方法和装置 | |
US8972966B2 (en) | Updating firmware in a hybrid computing environment | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
US20140325496A1 (en) | Apparatus and method for firmware upgrade using usb | |
US10628588B2 (en) | Information processing apparatus and computer readable storage medium | |
KR101674934B1 (ko) | 오류 보고 방법 및 장치 | |
CN104199706A (zh) | 一种eMMC的固件升级方法及其设备 | |
CN107291481B (zh) | 一种组件更新方法、装置和系统 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN109614126B (zh) | 一种嵌入式系统在线程序升级方法及装置 | |
CN110187909B (zh) | 一种基于安卓系统的单片机固件升级方法 | |
CN109582372B (zh) | 一种系统的启动方法及装置 | |
KR20130142073A (ko) | 모바일 메모리 카드를 사용하여 모바일폰 운영체제를 부팅시키는 방법 및 단말 | |
CN104991805B (zh) | 智能设备及其系统灾备控制方法 | |
CN103634668A (zh) | 智能电视中的系统升级方法和装置 | |
JP2013025426A (ja) | 画像出力装置及びそのプログラム | |
CN101505331A (zh) | 升级智能手机系统软件的方法和装置 | |
CN110580167A (zh) | 一种系统升级方法、智能设备及服务器 | |
CN107911816B (zh) | 用于多模IoT设备的启动方法、多模IoT设备及存储介质 | |
KR101529713B1 (ko) | 비정상 전원절환에 대한 안드로이드 단말의 안정성 강화 방법 및 이를 위한 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN111399926A (zh) | 下载启动程序的方法和装置 | |
JP2016162063A (ja) | 情報処理装置 | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
CN109428936A (zh) | App的升级方法、装置、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130515 |
|
RJ01 | Rejection of invention patent application after publication |