CN102541585B - 一种远程升级方法及嵌入式系统 - Google Patents

一种远程升级方法及嵌入式系统 Download PDF

Info

Publication number
CN102541585B
CN102541585B CN201110357674.3A CN201110357674A CN102541585B CN 102541585 B CN102541585 B CN 102541585B CN 201110357674 A CN201110357674 A CN 201110357674A CN 102541585 B CN102541585 B CN 102541585B
Authority
CN
China
Prior art keywords
module
program
upgrading
starts
upgrade
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.)
Active
Application number
CN201110357674.3A
Other languages
English (en)
Other versions
CN102541585A (zh
Inventor
鲁锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DIWEIXIN SOFTWARE TECHNOLOGY Co Ltd SHENZHEN CITY
Original Assignee
DIWEIXIN SOFTWARE TECHNOLOGY Co Ltd SHENZHEN CITY
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DIWEIXIN SOFTWARE TECHNOLOGY Co Ltd SHENZHEN CITY filed Critical DIWEIXIN SOFTWARE TECHNOLOGY Co Ltd SHENZHEN CITY
Priority to CN201110357674.3A priority Critical patent/CN102541585B/zh
Publication of CN102541585A publication Critical patent/CN102541585A/zh
Application granted granted Critical
Publication of CN102541585B publication Critical patent/CN102541585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种远程升级方法及嵌入式系统,通过将程序的远程升级维护功能模块简化独立出来由程序升级维护模块单独控制实现,而不将其与程序编译在一起,避免在程序的升级过程中将其覆盖;同时将操作系统也独立出来由系统启动模块控制,而并不将其与程序编译在一起,保证了操作系统的独立性。因此,在程序远程升级过程中,即使由于断电或网络错误导致升级失败,也不会对系统启动时所需要的最小系统和远程升级维护功能模块造成破坏,保证了程序远程升级的可靠性和安全性,同时在升级过程中也不需要将整个操作系统和原有程序进行整体备份,减少了嵌入式系统所需的备份存储空间,进而降低了嵌入式系统的成产和升级的成本。

Description

一种远程升级方法及嵌入式系统
技术领域
本发明涉及通信领域,具体涉及一种远程升级方法及一种嵌入式系统。
背景技术
现有的嵌入式终端设备为了便于设备远程维护管理,都设有远程程序在线升级功能,可通过网络对设备程序进行定期或不定期的升级。现有的嵌入式终端的操作系统和程序是编译在一起的,在远程升级过程中,升级程序通过网络下载到终端设备,并覆盖现有程序,升级完成后远程重启终端,终端重启后即可运行升级后的程序,完成设备程序更新。远程升级方式具有很大的风险,如果在升级过程中终端断电或者升级网络出现错误断开,会导致程序升级中断而失败,而原有的程序又在升级过程中被未升级完整的程序覆盖,而操作系统和程序是编译在一起的,导致终端无法运行,而程序的远程升级维护功能作为程序自身的一部分也遭到了破坏,自然也无法再继续使用,最终只能去现场修复,耗时耗力,升级成本和维护成本高。
为了解决上述问题,现有嵌入式终端的软件都是采取双备份方式,在远程升级时先将升级之前的编译在一起的操作系统和程序进行备份,在升级过程中即使出错也不会破坏备份的原有程序,保证了远程升级的安全性,即使在升级过程中遇到终端断电或者升级网络出现错误导致程序升级中断,终端可以启动备份的操作系统加载运行备份的程序,且在系统恢复后可以继续进行远程终端维护。但由于每次升级时,都需要将编译在一起的操作系统和程序进行备份,而编译在一起的操作系统和程序所占用的存储空间较大,因此现有的嵌入式终端需额外设置一个较大的存储空间用于存储备份的操作系统和程序,造成了存储资源浪费,导致嵌入式终端的制造成本上升,也增加了嵌入式终端的升级成本。
发明内容
本发明要解决的主要技术问题是,提供一种远程升级方法及一种嵌入式系统,避免程序升级时将整个操作系统和原有程序进行整体备份,减少嵌入式系统所需的备份存储空间,进而降低嵌入式系统的成产和升级的成本。
为解决上述技术问题,本发明提供一种远程升级方法,包括:
系统启动,系统启动模块初始化系统启动所需的最小系统,判断程序是否升级成功;
如经判断升级成功,系统启动模块启动程序加载模块进行程序的加载,完成此次系统的启动;
如经判断升级失败,系统启动模块根据程序升级之前的网络启动参数启动程序升级维护模块实现程序的远程升级维护,并启动程序加载模块对升级前的程序进行加载,完成此次系统的启动。
在本发明的一种实施例中,所述程序升级维护模块完成程序的升级后,在下一次系统启动时加载升级后的程序。
在本发明的一种实施例中,所述方法还包括将所述系统启动模块和程序升级维护模块设置于同一启动模块BootRom上。
在本发明的一种实施例中,所述方法还包括将所述系统启动模块和程序升级维护模块分别设置于不同的启动模块BootRom上。
本发明还提供了一种嵌入式系统,包括:
系统启动模块:用于初始化最小系统;还用于判断程序升级是否成功;如成功,则启动程序加载模块;否则,启动程序升级维护模块,并启动程序加载模块;
程序升级维护模块:用于实现程序的远程升级维护;
程序加载模块:用于加载程序。
在本发明的一种实施例中,所述系统启动模块在启动所述启动程序升级维护模块和程序加载模块之前,还用于收集网路启动参数,所述系统启动模块根据收集到的网路启动参数启动所述程序升级维护模块和程序加载模块。
在本发明的一种实施例中,当判断为升级成功时,系统启动模块用于收集升级成功后新的网络参数,当判断升级失败时,系统启动模块用于收集升级之前的网络参数,
在本发明的一种实施例中,所述系统启动模块和程序升级维护模块设置于同一启动模块BootRom上。
在本发明的一种实施例中,所述系统启动模块和程序升级维护模块分别设置于不同的启动模块BootRom上。
本发明的有益效果是:在本发明中,系统启动时,嵌入式系统的系统启动模块完成系统启动所需的最小系统的初始化,判断程序是否升级成功;如经判断升级成功,系统启动模块启动程序加载模块进行程序的加载,完成此次系统的启动;否则,系统启动模块根据程序升级之前的网络启动参数启动程序升级维护模块继续相关程序的升级,并根据程序升级之前的网络启动参数启动程序加载模块进行程序的加载,完成此次系统的启动。即本发明通过将程序的远程升级维护功能模块简化独立出来由程序升级维护模块单独控制实现,并不将其与程序编译在一起,避免在程序的升级过程中将其覆盖;同时将操作系统也独立出来由系统启动模块控制,而并不将其与程序编译在一起,保证了操作系统的独立性,因而保证了系统启动时所需要的最小系统在程序升级过程中不会因为升级失败而被破坏。因此,在程序远程升级过程中,即使由于断电或网络错误导致升级失败,也不会对系统启动时所需要的最小系统和远程升级维护功能模块造成破坏,保证了程序远程升级的可靠性和安全性,同时在升级过程中也不需要将整个操作系统和原有程序进行整体备份,减少了嵌入式系统所需的备份存储空间,进而降低了嵌入式系统的成产和升级的成本。
附图说明
图1为本发明一种实施例的嵌入式系统的系统框图;
图2为本发明一种实施例的升级方法流程示意图;
图3为本发明另一种实施例的嵌入式系统平台的结构框图;
图4为本发明另一种实施例的嵌入式系统平台的结构框图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
请参见图1,本例中的嵌入式系统包括系统启动模块、程序升级维护模块、以及程序加载模块,其中:
系统启动模块用于启动系统时,对系统所需要的最小系统进行初始化;还用于判断程序升级是否成功;如经判断程序升级成功,则启动程序加载模块加载程序;否则,启动程序升级维护模块,对程序的远程升级进行维护,并启动程序加载模块,以加载升级前的程序,完成系统的启动;
本例中的启动程序升级维护模块则用于实现程序的远程升级维护;
本例中的程序加载模块则用于加载程序。
即本例中程序的远程升级维护功能模块简化独立出来由程序升级维护模块单独控制实现,并不将其与程序编译在一起,避免在程序的升级过程中将其覆盖;同时将操作系统也独立出来由系统启动模块控制,而并不将其与程序编译在一起,保证了操作系统的独立性,因进而保证了系统启动时所需要的最小系统在程序升级过程中不会因为升级失败而被破坏。因此,在程序远程升级过程中,即使由于断电或网络错误导致升级失败,也不会对系统启动时所需要的最小系统和远程升级维护功能模块造成破坏,保证了程序远程升级的可靠性和安全性,同时在升级过程中也不需要将整个操作系统和原有程序进行整体备份,减少了嵌入式系统所需的备份存储空间,进而降低了嵌入式系统的成产和升级的成本。
本例中的嵌入式系统可为一般意义上的嵌入式终端,也可为包括一般意义上的嵌入式终端的其他装置。
本例中判断程序升级是否成功的方法可由多种,例如,可通过设置升级标志来标识升级是否成功,然后读取该标志即可;或者直接判断程序是否存在,如果存在,则表示该程序升级成功,直接加载该程序;否则,表明该程序在上一次升级过程中未升级成功而遭到破坏,此时则加载未升级之前的程序,并启动启动程序升级维护模块对该程序的远程升级进行维护。本例中的程序可为嵌入式系统中的主程序。
本例中的系统启动模块在启动程序升级维护模块和程序加载模块之前,还用于收集网路启动参数,然后根据收集到的网路启动参数启动程序升级维护模块和程序加载模块,具体为:当判断程序远程升级成功时,系统启动模块用于收集升级成功后新的网络参数,根据收集的新的网络参数启动程序加载模块加载升级后的程序,完成该程序的整个启动;当判断程序远程升级失败时,系统启动模块用于收集升级之前的网络参数,根据收集的升级之前的网络参数启动程序加载模块加载原有的程序,完成该程序的整个启动。
值得注意的是,本例中的独立于程序之外的系统启动模块和程序升级维护模块可设置于同一启动模块BootRom上,也可分别设置于不同的启动模块BootRom上。例如,可将系统启动模块的操作系统和程序升级维护模块的远程升级维护功能烧写到一个Flash中,且此Flash具有写保护,因此烧写在里面的操作系统和远程升级维护功能在程序的远程升级过程中不会被遭到破坏,而在系统启动时,该Flash中的系统启动模正常启动操作即可,而将远程升级维护功能合并到与操作系统相同的BootRom中,是对原有BootRom的改进和补充,升级维护功能作为一个独立的系统任务由BootRom启动,对原有的BootRom中的系统启动模块启动系统的过程没有任何影响。
因此,本例中改造后的BootRom(即将操作系统和远程升级维护功能烧写到一个Flash中)和原有的BootRom(即操作系统单独烧写到一个Flash中)一样,依然负责对系统的初始化和主程序的加载,只是在主程序受到破坏或由于上次升级维护失败导致的加载不成功时,自动启动远程升级维护功能,将其作为一个单独任务运行,等待远端用户的升级维护。BootRom原有的功能和远程升级维护功能并列运行,不受任何影响,依然可以通过本地串口对嵌入式系统进行控制和一些简单的系统功能调试。
当然,本例中也可将操作系统和远程升级维护功能分别烧写到一个具有写保护功能的Flash中,避免在程序的远程升级过程中遭到破坏。在系统启动时,烧写有操作系统的BootRom依然负责对系统的初始化和主程序的加载,只是在主程序受到破坏或由于上次升级维护失败导致的加载不成功时,自动烧写启动远程升级维护功能的BootRom,将其作为一个单独任务运行,等待远端用户的升级维护,此时二则并列运行,不受任何影响。
下面结合上述系统对本发明中的远程升级方法做进一步说明,请参见图2,本例中的远程升级方法包括以下步骤:
系统启动,系统启动模块初始化系统启动所需的最小系统后,判断程序是否升级成功;
如经判断升级成功,系统启动模块启动程序加载模块对升级后的程序进行加载,完成此次系统的启动;
如经判断升级失败,系统启动模块根据程序升级之前的网络启动参数启动程序升级维护模块实现程序的远程升级维护,并启动程序加载模块对升级前的程序进行加载,完成此次系统的启动。
本例中本例中系统启动模块根据程序升级之前的网络启动参数启动程序升级维护模块和启动程序加载模块并无严格的时间顺序。程序升级维护模块提醒远程终端用户实现程序的升级后,在下一次系统启动时加载升级后的程序。
实施例二:
为了更好的理解本发明,下面对结合一个具体的嵌入式系统平台和一个完整的系统启动、记载流程对本发明做进一步说明。
请参见图3,图3中的系统启动模块和程序升级维护模块可设置于同一启动模块BootRom上,称之为具有网络在线升级维护功能的独立BootRom启动模块(下面简称BootRom),主程序则存储在另一单独的Flash中。系统上电启动复位,BootRom初始化最小系统后,判断程序是否升级成功,具体可通过判断主程序是否存在来判断是否升级成功,如升级成功,则启动程序加载模块将程序加载到RAM内存中进行运行,否则,启动程序升级维护模块实现对主程序的远程升级维护,并启动程序加载模块加载升级之前的原有程序到内存中运行,具体如下,请参见图4:
401:系统上电,开始启动;
402:CPU执行指令跳转到启动BootRom;
403:BootRom启动模块进行CPU启动所需要的最小系统的初始化;
404:BootRom判断主程序升级是否成功,具体为通过判断主程序存在标志是否存在,如是,转至步骤405,否者,转至步骤412;
405:BootRom收集主程序升级后的网络启动参数,并根据收集的参数启动程序加载模块,将主程序加载到内存中,然后跳转至主程序入口;
406:主程序启动,读取升级后的网络启动参数,按读取的网络启动参数初始化自己,保证与BootRom的网络配置一致;
407:主程序启动自身的在线升级模块;
408:主程序判断自身所需的子模块是否存在,如存在,则转至步骤410,否则,转至步骤409;
409:提示用户对所需的模块进行在线升级,然后转至步骤408;
410:主程序继续加载启动所需的各个子模块;
411:系统启动完毕,开始运行,并在运行过程中检测是否有程序需要更新。
412:BootRom收集主程序升级前的网络启动参数,根据收集的参数启动程序升级维护模块实现对主程序的远程升级维护,提示、等待远程用户终端升级该主程序;
413:远程终端升级该主程序。
414:BootRom根据步骤412收集的参数启动程序加载模块,将升级之前的原有主程序加载到内存中,完成此处系统的启动。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (8)

1.一种嵌入式系统的远程升级方法,其特征在于包括:
系统启动,系统启动模块初始化系统启动所需的最小系统,判断程序是否升级成功,所述程序为独立于所述最小系统之外的程序;
如经判断升级成功,系统启动模块启动程序加载模块进行程序的加载,完成此次系统的启动;
如经判断升级失败,系统启动模块根据程序升级之前的网络启动参数启动程序升级维护模块实现程序的远程升级维护,所述程序升级维护模块独立于程序之外,并启动程序加载模块对升级前的程序进行加载,完成此次系统的启动。
2.如权利要求1所述的方法,其特征在于,所述程序升级维护模块完成程序的升级后,在下一次系统启动时加载升级后的程序。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括将所述系统启动模块和程序升级维护模块设置于同一启动模块BootRom上。
4.如权利要求1或2所述的方法,其特征在于,所述方法还包括将所述系统启动模块和程序升级维护模块分别设置于不同的启动模块BootRom上。
5.一种嵌入式系统,其特征在于包括:
系统启动模块:用于初始化最小系统;还用于判断程序升级是否成功;如成功,则启动程序加载模块;否则,收集网络启动参数,根据收集到的网络启动参数启动程序升级维护模块和程序加载模块,所述程序为独立于所述最小系统之外的程序;
程序升级维护模块:用于实现程序的远程升级维护,所述程序升级维护模块独立于程序之外;
程序加载模块:用于加载程序。
6.如权利要求5所述的系统,其特征在于,当判断为升级成功时,系统启动模块用于收集升级成功后新的网络参数,当判断升级失败时,系统启动模块用于收集升级之前的网络参数。
7.如权利要求5或6所述的系统,其特征在于,所述系统启动模块和程序升级维护模块设置于同一启动模块BootRom上。
8.如权利要求5或6所述的系统,其特征在于,所述系统启动模块和程序升级维护模块分别设置于不同的启动模块BootRom上。
CN201110357674.3A 2011-11-11 2011-11-11 一种远程升级方法及嵌入式系统 Active CN102541585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110357674.3A CN102541585B (zh) 2011-11-11 2011-11-11 一种远程升级方法及嵌入式系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110357674.3A CN102541585B (zh) 2011-11-11 2011-11-11 一种远程升级方法及嵌入式系统

Publications (2)

Publication Number Publication Date
CN102541585A CN102541585A (zh) 2012-07-04
CN102541585B true CN102541585B (zh) 2016-05-18

Family

ID=46348555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110357674.3A Active CN102541585B (zh) 2011-11-11 2011-11-11 一种远程升级方法及嵌入式系统

Country Status (1)

Country Link
CN (1) CN102541585B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109282434A (zh) * 2018-09-20 2019-01-29 广东美的暖通设备有限公司 固件安装方法、系统和空调器
CN111104146B (zh) * 2019-12-18 2023-07-28 天津天地伟业信息系统集成有限公司 一种高稳定性和可维护性的嵌入式设备
CN111273918B (zh) * 2020-01-15 2023-09-15 深圳英飞拓仁用信息有限公司 一种嵌入式摄像机的远程升级方法
CN114655140B (zh) * 2022-03-15 2024-03-26 东软睿驰汽车技术(沈阳)有限公司 一种车辆启动控制方法和相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858707A (zh) * 2006-03-28 2006-11-08 华为技术有限公司 一种移动终端软件自动加载的方法
CN1928820A (zh) * 2006-09-30 2007-03-14 四川长虹电器股份有限公司 嵌入式系统及其升级方法
CN101437106A (zh) * 2007-11-16 2009-05-20 深圳Tcl工业研究院有限公司 一种机顶盒系统及其自行修复的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100518082C (zh) * 2005-09-12 2009-07-22 中兴通讯股份有限公司 一种具有自恢复功能的远程在线升级方法
CN101426077A (zh) * 2008-12-05 2009-05-06 深圳创维-Rgb电子有限公司 通过Internet在线升级电视机软件的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1858707A (zh) * 2006-03-28 2006-11-08 华为技术有限公司 一种移动终端软件自动加载的方法
CN1928820A (zh) * 2006-09-30 2007-03-14 四川长虹电器股份有限公司 嵌入式系统及其升级方法
CN101437106A (zh) * 2007-11-16 2009-05-20 深圳Tcl工业研究院有限公司 一种机顶盒系统及其自行修复的方法

Also Published As

Publication number Publication date
CN102541585A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN101882085B (zh) 系统启动方法以及嵌入式设备
CN101814035B (zh) 允许快速平台重启的方法和系统
US20090222650A1 (en) Communication device and firmware update method thereof
CN102541585B (zh) 一种远程升级方法及嵌入式系统
CN103796066B (zh) 一种智能电视系统及其关机和开机方法
CN112433769A (zh) 一种bmc启动方法、装置、计算机设备及存储介质
CN106775674B (zh) 一种基于通用引导加载程序的设备及其启动方法
WO2011006378A1 (zh) 无线数据卡的升级方法和系统
CN105653405B (zh) 一种通用引导程序的故障处理方法及系统
CN111767172A (zh) 一种基于看门狗及bootloader的机顶盒自修复办法
CN101571807A (zh) 具有固件的系统及其启动方法
CN107577563A (zh) 一种系统升级异常断电的保护方法及终端设备
CN105468390B (zh) Boot在线升级装置及方法
CN107526574A (zh) 系统启动模式的控制方法及装置
CN109634781A (zh) 一种基于嵌入式程序双区备份映像系统及启动方法
CN103514014A (zh) 一种嵌入式终端设备引导系统的设计方法
CN109766140A (zh) 一种机顶盒启动异常的定位方法及装置
CN109933374B (zh) 一种计算机启动方法
CN105744365A (zh) 基于Android系统的智能机顶盒的升级方法
CN104346239B (zh) 嵌入式系统中应用程序的异常恢复方法和装置
CN108694051A (zh) 基于双系统的升级方法、装置以及存储装置
CN111078452A (zh) 一种bmc固件镜像恢复方法与装置
CN112612498A (zh) 一种嵌入式设备升级方法和嵌入式设备
CN105760276B (zh) 提高reboot命令重启可靠性并增加复位日志的方法
CN111273928A (zh) 一种自升级的bootloader设计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 518055 Guangdong city of Shenzhen province Nanshan District Xili town tea light road on the south side of Shenzhen integrated circuit design and application of Industrial Park 406-2

Applicant after: Diweixin Software Technology Co., Ltd., Shenzhen City

Address before: 518057, No. 5, building 504-506, building 2, 2 West West Road, Nanshan District high tech North District, Guangdong, Shenzhen

Applicant before: Diweixin Software Technology Co., Ltd., Shenzhen City

C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 1202, building 3, R & D building 3, Fangda Plaza, No. 28, Gaofa West Road, Taoyuan community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SHENZHEN DIWEIXIN SOFTWARE TECHNOLOGY Co.,Ltd.

Address before: 518055 Guangdong city of Shenzhen province Nanshan District Xili town tea light road on the south side of Shenzhen integrated circuit design and application of Industrial Park 406-2

Patentee before: SHENZHEN DIWEIXIN SOFTWARE TECHNOLOGY Co.,Ltd.