CN102486733A - 引导程序的升级方法和装置 - Google Patents

引导程序的升级方法和装置 Download PDF

Info

Publication number
CN102486733A
CN102486733A CN2010105723206A CN201010572320A CN102486733A CN 102486733 A CN102486733 A CN 102486733A CN 2010105723206 A CN2010105723206 A CN 2010105723206A CN 201010572320 A CN201010572320 A CN 201010572320A CN 102486733 A CN102486733 A CN 102486733A
Authority
CN
China
Prior art keywords
boot
guiding
district
successfully
boot program
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.)
Granted
Application number
CN2010105723206A
Other languages
English (en)
Other versions
CN102486733B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201010572320.6A priority Critical patent/CN102486733B/zh
Priority to PCT/CN2011/073917 priority patent/WO2012071852A1/zh
Publication of CN102486733A publication Critical patent/CN102486733A/zh
Application granted granted Critical
Publication of CN102486733B publication Critical patent/CN102486733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种引导程序的升级方法及装置,该方法包括:在可擦除存储器中划分第一引导程序区和第二引导程序区,其中第一引导程序区中存储有用于正常引导的第一引导程序,第二引导程序区中存储有待升级的第二引导程序;确定使用第二引导程序引导成功;确定第二引导程序为升级后的引导程序。本发明可以避免硬件地址切换的引入,降低硬件复杂度,提高用户体验。

Description

引导程序的升级方法和装置
技术领域
本发明涉及通信领域,具体而言,涉及一种引导程序的升级方法和装置。
背景技术
早期的嵌入式设备中,引导程序(BOOTROM)一般是一次性写入只读存储器(ROM或FLASH),不考虑在线升级。
为了应对复杂的应用需求,嵌入式设备开始支持引导程序的在线升级。
目前支持引导程序升级的嵌入式设备采用的方案大致上有以下共同点:
1、设置两个或多个引导程序存储区。
2、设置一个公用的参数区。
3、由硬件提供引导程序存储区地址的切换,并可由引导程序控制。
上面第3个特点说明目前通用的双引导程序或多引导程序升级方案都需要硬件提供地址切换的能力。对硬件有这一要求的原因在于,嵌入式引导程序在编译时必须指定其运行时所处的地址,引导程序编译好后,必须把它存放到正确的地址上工作。这样在一般升级方案种造成两个引导程序都需要在一个地址上运行的局面。所以需要引入硬件提供地址切换的配合来解决:哪个引导程序被选中工作,那个引导程序所在的存储区域就被切换到正确的地址上。
这一类方案因为对硬件有特殊要求,增加了硬件复杂度,应用场合也受到了限制。
发明内容
针对相关技术中第一引导程序和第二引导程序都需要在一个地址上运行从而需要引入硬件提供地址切换的问题而提出本发明,为此,本发明的主要目的在于提供一种引导程序的升级方法和装置,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种引导程序的升级方法。
根据本发明的引导程序的升级方法包括:在可擦除存储器中划分第一引导程序区和第二引导程序区,其中第一引导程序区中存储有用于正常引导的第一引导程序,第二引导程序区中存储有待升级的第二引导程序;确定使用第二引导程序引导成功;确定第二引导程序为升级后的引导程序。
进一步地,第一引导程序的起始地址为第一引导程序区开始的位置,第二引导程序的起始地址为第二引导程序区开始的位置。
进一步地,在确定使用第二引导程序引导成功之前,上述方法还包括:判断第二引导程序的版本号是否高于第一引导程序的版本号;如果判断结果为是,则使用第二引导程序引导。
进一步地,在确定使用第二引导程序引导成功之前,上述方法还包括:判断是否设置与第二引导程序对应的引导失败标志,其中引导失败标志用于指示使用第二引导程序引导失败;如果判断结果为否,则使用第二引导程序引导。
进一步地,在使用第二引导程序引导之后,上述方法还包括:判断是否设置与第二引导程序对应的引导等待标志,其中引导等待标志用于指示等待使用第二引导程序引导;如果判断结果为是,则设置与第二引导程序对应的引导进行标志,其中引导进行标志用于指示正在使用第二引导程序进行引导。
进一步地,在使用第二引导程序引导之后,上述方法还包括:判断是否设置与第二引导程序对应的引导进行标志,其中引导进行标志用于指示正在使用第二引导程序进行引导;如果判断结果为是,则设置与第二引导程序对应的引导失败标志,其中引导失败标志用于指示使用第二引导程序引导失败。
进一步地,在设置与第二引导程序对应的引导失败标志之后,上述方法还包括:重启并使用第一引导程序进行引导。
进一步地,在确定使用第二引导程序引导成功之后,上述方法还包括:判断是否设置与第二引导程序对应的引导进行标志,其中引导进行标志用于指示正在使用第二引导程序进行引导;如果判断结果为是,则设置与第二引导程序对应的引导成功标志,其中引导成功标志用于指示使用第二引导程序引导成功。
进一步地,第一引导程序区和第二引导程序区均为512KByte。
为了实现上述目的,根据本发明的另一个方面,提供了一种引导程序的升级装置。
根据本发明的引导程序的升级装置包括划分模块,用于在可擦除存储器中划分第一引导程序区和第二引导程序区;第一存储模块,用于在第一引导程序区中存储用于正常引导的第一引导程序;第二存储模块,用于在第二引导程序区中存储待升级的第二引导程序;第一确定模块,用于确定使用第二引导程序引导成功;第二确定模块,用于确定第二引导程序为升级后的引导程序。
通过本发明,第一引导程序区和第二引导程序区均具有明确的地址,从而使得第一引导程序和第二引导程序具有互不相同的地址,解决了相关技术中第一引导程序和第二引导程序都需要在一个地址上运行从而需要引入硬件提供地址切换的问题,进而可以避免硬件地址切换的引入,降低硬件复杂度,提高用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的引导程序的升级方法的流程图;
图2是根据本发明实施例的文件编译合并过程的示意图;
图3是根据本发明实施例的引导程序的选择控制方法的流程图;
图4是根据本发明实施例的FLASH空间划分的示意图;
图5是根据本发明实施例的引导程序在线升级方法的流程图;
图6是根据本发明实施例的引导程序的升级装置的结构框图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明实施例提供了一种引导程序的升级方法。图1是根据本发明实施例的引导程序的升级方法的流程图,如图1所示,包括如下的步骤S102至步骤S106。
步骤S102,在可擦除存储器中划分第一引导程序区和第二引导程序区,其中第一引导程序区中存储有用于正常引导的第一引导程序,第二引导程序区中存储有待升级的第二引导程序。
步骤S104,确定使用第二引导程序引导成功。
步骤S106,确定第二引导程序为升级后的引导程序。
相关技术中,第一引导程序和第二引导程序都需要在一个地址上运行,从而需要引入硬件提供地址切换。本发明实施例中,第一引导程序区和第二引导程序区均具有明确的地址,从而使得第一引导程序和第二引导程序具有互不相同的地址,进而可以避免硬件地址切换的引入,降低硬件复杂度,提高用户体验。
需要说明的是,上述可擦除存储器可以优选的为FLASH。
优选地,第一引导程序的起始地址为第一引导程序区开始的位置,第二引导程序的起始地址为第二引导程序区开始的位置。
图2是根据本发明实施例的文件编译合并过程的示意图,如图2所示,可以通过如下的第一步至第三步进行文件的编译合并。
第一步,指定BOOTROM工作地址(后面称为ROM_BASE_ADRS)为第一BOOTROM区起始地址(后面称为ROM_ADRS_1ST),编译生成二进制的BOOT1.bin。
第二步,指定ROM_BASE_ADRS为第二BOOTROM区起始地址(后面称为ROM_ADRS_2ND),编译生成二进制的BOOT2.bin。
第三步,把上两步生成的BOOTROM合并成一个二进制文件BOOTROM.bin。BOOT1.bin被填充到起始地址为0开始的位置,BOOT2.bin被填充到起始地址为512KBbyte开始的位置。
需要说明的是,在本发明的实现过程中,上述第一引导程序区可以为第一BOOTROM区,也可以为第二BOOTROM区。具体地,当第一引导程序区为第一BOOTROM区或第二BOOTROM区时,第二引导程序区相应的为第二BOOTROM区或第一BOOTROM区。
优选地,在确定使用第二引导程序引导成功之前,上述方法还包括:判断第二引导程序的版本号是否高于第一引导程序的版本号;如果判断结果为是,则使用第二引导程序引导。
优选地,在确定使用第二引导程序引导成功之前,上述方法还包括:判断是否设置与第二引导程序对应的引导失败标志,其中引导失败标志用于指示使用第二引导程序引导失败;如果判断结果为否,则使用第二引导程序引导。
优选地,在使用第二引导程序引导之后,上述方法还包括:判断是否设置与第二引导程序对应的引导等待标志,其中引导等待标志用于指示等待使用第二引导程序引导;如果判断结果为是,则设置与第二引导程序对应的引导进行标志,其中引导进行标志用于指示正在使用第二引导程序进行引导。
优选地,在使用第二引导程序引导之后,上述方法还包括:判断是否设置与第二引导程序对应的引导进行标志,其中引导进行标志用于指示正在使用第二引导程序进行引导;如果判断结果为是,则设置与第二引导程序对应的引导失败标志,其中引导失败标志用于指示使用第二引导程序引导失败。
优选地,在设置与第二引导程序对应的引导失败标志之后,上述方法还包括:重启并使用第一引导程序进行引导。
优选地,在确定使用第二引导程序引导成功之后,上述方法还包括:判断是否设置与第二引导程序对应的引导进行标志,其中引导进行标志用于指示正在使用第二引导程序进行引导;如果判断结果为是,则设置与第二引导程序对应的引导成功标志,其中引导成功标志用于指示使用第二引导程序引导成功。
具体地,上述对第一引导程序和第二引导程序的选择控制可以通过选择控制程序实现,该选择控制程序可以存储在由上述FLASH划分出的选择控制区中,该选择控制区可以独自占用一个FLASH块。另外,上述选择控制程序中可以包含上述第一引导程序和第二引导程序的存在标志、版本号、试运行状态、起始地址等信息。
具体地,第一引导程序和第二引导程序的试运行状态包括“等待试运行”、“正在试运行”、“试运行成功”、“试运行失败”4种值。下面分别对典型情况下第一引导程序和第二引导程序试运行状态的变化情况进行描述。
1、在线升级BOOTROM后,设置试运行状态为“等待试运行”。
2、设备启动时,如果发现BOOTROM试运行状态为“等待试运行”则选择该BOOTROM运行,并将其改为“正在试运行”。
3、设备启动时,如果发现BOOTROM试运行状态为“正在试运行”,则将其修改为“试运行失败”。
4、设备引导成功后,检查试运行状态,如果发现BOOTROM试运行状态为“正在试运行”,则将其修改为“试运行成功”。
图3是根据本发明实施例的引导程序的选择控制方法的流程图,如图3所示,包括如下的步骤S302至步骤S324。
步骤S302,上电启动基本配置(romInit.s中)。
步骤S304,设置堆栈指针(这步后可以调用C函数)。
步骤S306,读取引导选择控制区。
步骤S308,检查第一、第二引导程序参数区的试运行状态,如果为“正在试运行”即改为“试运行失败”。
步骤S310,判断第二引导程序区的存在标志是否有效,如果是,则进行步骤S312,否则进行步骤S324。
步骤S312,判断第二引导程序区试运行标志是否为“等待试运行”,如果是,则进行步骤S314,否则进行步骤S316。
步骤S314,把第二引导程序试运行标志改为“正在试运行”,然后进行步骤S322。
步骤S316,判断第一引导程序区试运行标志是否为“等待试运行”,如果是,则进行步骤S318,否则进行步骤S320。
步骤S318,判断第二引导程序区版本号是否大于第一区版本号,如果是,则进行步骤S322,否则进行步骤S324。
步骤S320,把第一引导程序试运行标志改为“正在试运行”,然后进行步骤S324。
步骤S322,从第二引导程序启动。
步骤S324,从第一引导程序启动。
本优选实施例在嵌入式设备上实现了基于两个引导程序的安全的可回退的引导程序升级。
优选地,第一引导程序区和第二引导程序区均为512KByte。
图4是根据本发明实施例的FLASH空间划分的示意图,如图4所示,包括第一引导程序区、第二引导程序区和引导选择控制区,其中第一引导程序区和第二引导程序区均为512Kbyte,引导选择控制区为128Kbyte。
需要说明的是,新设备初次使用时,需要使用特殊工具将引导程序写入FLASH。需要先擦除FLASH,然后把BOOTROM.bin文件写入第一引导程序区和第二引导程序区的空间。此时因为引导选择控制区为空,第二引导程序区的内容会被忽略。
本发明还提供了一种在线升级引导程序的方法。图5是根据本发明实施例的引导程序在线升级方法的流程图,如图5所示,包括如下的步骤S502至步骤S516。
步骤S502,在线升级。
步骤S504,读取引导选择控制区。
步骤S506,判断第二引导程序版本号是否大于第一引导程序版本号,如果是,则进行步骤S512,否则进行步骤S508。
步骤S508,选择BOOT.bin文件的前半部分写入第一引导程序区。
步骤S510,设置第一引导程序的试运行状态为“等待试运行”,然后进行步骤S516。
步骤S512,选择BOOT.bin文件的后半部分写入第二引导程序区。
步骤S514,设置第二引导程序的试运行状态为“等待试运行”。
步骤S516,结束。
根据引导选择控制区选择从BOOTROM.bin文件中选择BOOT1.bin或BOOT2.bin写入对应的第一引导程序区或第二引导程序区,并重新设置引导选择控制区。
下面将结合实例对本发明实施例的实现过程进行详细描述。
某嵌入式设备中,采用了本方法实现了可安全升级、可回退的双BOOTROM。
硬件上,该设备采用64MByte FLASH作为启动芯片(由片选0信号选中)。
首先,在FLASH中分配了片内地址为0~512KByte的区间作为第一BOOTROM区,片内地址为512K~1MByte的区间作为第二BOOTROM区,片内地址为1M~(1M+128K)Byte区间作为BOOT选择控制区。
然后,在软件上加入图3和图5中的实现。本系统软件上基于vxWorks系统。包括以下几点:
第一、BOOT区选择功能代码在汇编代码romInit.s中增加,具体位置为初始化好SP指针之后和跳转到romStart函数之前。此处堆栈指针已配置可以调用C函数,本功能部分代码由汇编实现,如读写判断状态字,复杂的部分由C函数实现,如改写“试运行状态”等字段。实现细节如图3。
第二、在BOOTROM加载image映像成功之后和跳转到image运行之前,增加修改“试运行状态”的代码。能运行至此处说明BOOTROM是功能正常的,在这里直接把“试运行状态”修改为“试运行成功”即可。
第三、应用程序(即image映像)中增加在线升级BOOTROM的代码。该部分代码对位置无特殊要求,以一个函数形式增加到sysLib.c中。函数实现如图5。
最后,修改编译脚本,以编译出两个文件合并。
基于原来的Makefile新增两个makefile文件,分别为mkboot1,mkboot2。Mkboot1中指定ROM_BASE_ADRS为ROMADRS_1ST,Mkboot2中指定ROM_BASE_ADRS为ROMADRS_2ND。
再增加一个批处理文件,mkboot.bat,该文件中主要由3条命令:使用mkboot1作为makefile编译BOOTROM,使用mkboot2作为makefile编译BOOTROM,文件合并。
文件合并的工具为在VC下自行编写。
新设备初次使用时,使用特殊的FLASH在线烧录工具把BOOTROM.bin写入到FLASH的第一BOOTROM区和第二BOOTROM区,不用设置BOOT选择参数区。启动后,设备从第一BOOTROM区启动。
进行第一次升级后,设备从第二BOOTROM区启动。此过程为一次正常的升级过程。
进行第二次升级后,设备从第一BOOTROM区启动。此过程为一次正常的升级过程。
继续进行第三次升级,重启设备10秒钟后(此时正从第二BOOTROM区启动中)再次重启,设备从第一BOOTROM区启动,查看第二BOOTROM区试运行状态被设置为“试运行失败”。此过程为一次升级失败及回退的过程。
使用情况完全符合预期。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种引导程序的升级装置,该引导程序的升级装置可以用于实现上述引导程序的升级方法。图6是根据本发明实施例的引导程序的升级装置的结构框图,包括划分模块61,第一存储模块62,第二存储模块63,第一确定模块64,第二确定模块65。下面对其结构进行详细描述。
划分模块61,用于在可擦除存储器中划分第一引导程序区和第二引导程序区;第一存储模块62,连接至划分模块61,用于在划分模块61划分的第一引导程序区中存储用于正常引导的第一引导程序;第二存储模块63,连接至划分模块61,用于在划分模块61划分的第二引导程序区中存储待升级的第二引导程序;第一确定模块64,连接至第二存储模块63,用于确定使用第二存储模块63存储的第二引导程序引导成功;第二确定模块65,连接至第一确定模块64和第二存储模块63,用于在第一确定模块64确定第二引导程序引导成功之后,确定第二存储模块63存储的第二引导程序为升级后的引导程序。
需要说明的是,上述可擦除存储器可以优选的为FLASH。
综上所述,根据本发明的上述实施例,提供了一种引导程序的升级方法和装置。由于第一引导程序区和第二引导程序区均具有明确的地址,从而使得第一引导程序和第二引导程序具有互不相同的地址,解决了相关技术中第一引导程序和第二引导程序都需要在一个地址上运行从而需要引入硬件提供地址切换的问题,进而可以避免硬件地址切换的引入,降低硬件复杂度,提高用户体验
需要说明的是,装置实施例中描述的引导程序的升级装置对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种引导程序的升级方法,其特征在于,包括:
在可擦除存储器中划分第一引导程序区和第二引导程序区,其中所述第一引导程序区中存储有用于正常引导的第一引导程序,所述第二引导程序区中存储有待升级的第二引导程序;
确定使用所述第二引导程序引导成功;
确定所述第二引导程序为升级后的引导程序。
2.根据权利要求1所述的方法,其特征在于,所述第一引导程序的起始地址为所述第一引导程序区开始的位置,所述第二引导程序的起始地址为所述第二引导程序区开始的位置。
3.根据权利要求1所述的方法,其特征在于,在确定使用所述第二引导程序引导成功之前,所述方法还包括:
判断所述第二引导程序的版本号是否高于所述第一引导程序的版本号;
如果判断结果为是,则使用所述第二引导程序引导。
4.根据权利要求1所述的方法,其特征在于,在确定使用所述第二引导程序引导成功之前,所述方法还包括:
判断是否设置与所述第二引导程序对应的引导失败标志,其中所述引导失败标志用于指示使用所述第二引导程序引导失败;
如果判断结果为否,则使用所述第二引导程序引导。
5.根据权利要求3或4所述的方法,其特征在于,在使用所述第二引导程序引导之后,所述方法还包括:
判断是否设置与所述第二引导程序对应的引导等待标志,其中所述引导等待标志用于指示等待使用所述第二引导程序引导;
如果判断结果为是,则设置与所述第二引导程序对应的引导进行标志,其中所述引导进行标志用于指示正在使用所述第二引导程序进行引导。
6.根据权利要求3或4所述的方法,其特征在于,在使用所述第二引导程序引导之后,所述方法还包括:
判断是否设置与所述第二引导程序对应的引导进行标志,其中所述引导进行标志用于指示正在使用所述第二引导程序进行引导;
如果判断结果为是,则设置与所述第二引导程序对应的引导失败标志,其中所述引导失败标志用于指示使用所述第二引导程序引导失败。
7.根据权利要求6所述的方法,其特征在于,在设置与所述第二引导程序对应的引导失败标志之后,所述方法还包括:
重启并使用所述第一引导程序进行引导。
8.根据权利要求1所述的方法,其特征在于,在确定使用所述第二引导程序引导成功之后,所述方法还包括:
判断是否设置与所述第二引导程序对应的引导进行标志,其中所述引导进行标志用于指示正在使用所述第二引导程序进行引导;
如果判断结果为是,则设置与所述第二引导程序对应的引导成功标志,其中所述引导成功标志用于指示使用所述第二引导程序引导成功。
9.根据权利要求1所述的方法,其特征在于,所述第一引导程序区和所述第二引导程序区均为512KByte。
10.一种引导程序的升级装置,其特征在于,包括:
划分模块,用于在可擦除存储器中划分第一引导程序区和第二引导程序区;
第一存储模块,用于在所述第一引导程序区中存储用于正常引导的第一引导程序;
第二存储模块,用于在所述第二引导程序区中存储待升级的第二引导程序;
第一确定模块,用于确定使用所述第二引导程序引导成功;
第二确定模块,用于确定所述第二引导程序为升级后的引导程序。
CN201010572320.6A 2010-12-03 2010-12-03 引导程序的升级方法和装置 Active CN102486733B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010572320.6A CN102486733B (zh) 2010-12-03 2010-12-03 引导程序的升级方法和装置
PCT/CN2011/073917 WO2012071852A1 (zh) 2010-12-03 2011-05-11 引导程序的升级方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010572320.6A CN102486733B (zh) 2010-12-03 2010-12-03 引导程序的升级方法和装置

Publications (2)

Publication Number Publication Date
CN102486733A true CN102486733A (zh) 2012-06-06
CN102486733B CN102486733B (zh) 2015-10-21

Family

ID=46152231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010572320.6A Active CN102486733B (zh) 2010-12-03 2010-12-03 引导程序的升级方法和装置

Country Status (2)

Country Link
CN (1) CN102486733B (zh)
WO (1) WO2012071852A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677871A (zh) * 2012-09-10 2014-03-26 上海达实联欣科技发展有限公司 在线升级系统及方法
CN104375863A (zh) * 2014-11-17 2015-02-25 张毓 嵌入式系统中一种在线升级程序的方法
CN104699500A (zh) * 2015-01-06 2015-06-10 上海华测导航技术股份有限公司 智能设备中实现引导程序自动升级的方法
CN104978223A (zh) * 2015-07-02 2015-10-14 上海市共进通信技术有限公司 实现Web方式升级设备固件的方法
CN106257417A (zh) * 2015-06-17 2016-12-28 中兴通讯股份有限公司 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统
WO2017000567A1 (zh) * 2015-07-02 2017-01-05 中兴通讯股份有限公司 一种实现bootrom升级的方法及装置
CN106406955A (zh) * 2016-09-22 2017-02-15 深圳市金溢科技股份有限公司 RSU设备bootloader程序升级的方法、装置
CN106484475A (zh) * 2016-10-09 2017-03-08 珠海全志科技股份有限公司 固件启动方法、装置及嵌入式设备
CN106990982A (zh) * 2017-03-20 2017-07-28 北京新能源汽车股份有限公司 程序更新方法及装置
CN107247642A (zh) * 2017-06-27 2017-10-13 青岛智动精工电子有限公司 用于系统开机时确定可执行映像文件的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236925A1 (en) * 2003-05-21 2004-11-25 Fumihiro Wajima Digital signal processor and digital signal processing method
CN1786910A (zh) * 2004-12-09 2006-06-14 华为技术有限公司 一种bios在线升级方法
CN1808385A (zh) * 2006-01-20 2006-07-26 北京朗通环球科技有限公司 一种嵌入式系统的引导系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100501679C (zh) * 2007-02-27 2009-06-17 华为技术有限公司 一种电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236925A1 (en) * 2003-05-21 2004-11-25 Fumihiro Wajima Digital signal processor and digital signal processing method
CN1786910A (zh) * 2004-12-09 2006-06-14 华为技术有限公司 一种bios在线升级方法
CN1808385A (zh) * 2006-01-20 2006-07-26 北京朗通环球科技有限公司 一种嵌入式系统的引导系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王恒 等: "基于Bootloader 的可靠嵌入式软件远程更新机制", 《微计算机信息》, no. 20, 31 July 2007 (2007-07-31), pages 57 - 59 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677871A (zh) * 2012-09-10 2014-03-26 上海达实联欣科技发展有限公司 在线升级系统及方法
CN104375863A (zh) * 2014-11-17 2015-02-25 张毓 嵌入式系统中一种在线升级程序的方法
CN104699500A (zh) * 2015-01-06 2015-06-10 上海华测导航技术股份有限公司 智能设备中实现引导程序自动升级的方法
CN104699500B (zh) * 2015-01-06 2018-05-08 上海华测导航技术股份有限公司 智能设备中实现引导程序自动升级的方法
CN106257417A (zh) * 2015-06-17 2016-12-28 中兴通讯股份有限公司 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统
CN106257417B (zh) * 2015-06-17 2021-07-20 中兴通讯股份有限公司 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统
WO2017000567A1 (zh) * 2015-07-02 2017-01-05 中兴通讯股份有限公司 一种实现bootrom升级的方法及装置
CN106325911A (zh) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 一种实现bootrom升级的方法及装置
CN104978223B (zh) * 2015-07-02 2018-03-30 上海市共进通信技术有限公司 实现Web方式升级设备固件的方法
CN104978223A (zh) * 2015-07-02 2015-10-14 上海市共进通信技术有限公司 实现Web方式升级设备固件的方法
CN106406955A (zh) * 2016-09-22 2017-02-15 深圳市金溢科技股份有限公司 RSU设备bootloader程序升级的方法、装置
CN106484475A (zh) * 2016-10-09 2017-03-08 珠海全志科技股份有限公司 固件启动方法、装置及嵌入式设备
CN106990982A (zh) * 2017-03-20 2017-07-28 北京新能源汽车股份有限公司 程序更新方法及装置
CN106990982B (zh) * 2017-03-20 2021-07-02 北京新能源汽车股份有限公司 程序更新方法及装置
CN107247642A (zh) * 2017-06-27 2017-10-13 青岛智动精工电子有限公司 用于系统开机时确定可执行映像文件的方法及装置
CN107247642B (zh) * 2017-06-27 2020-12-25 青岛智动精工电子有限公司 用于系统开机时确定可执行映像文件的方法及装置

Also Published As

Publication number Publication date
WO2012071852A1 (zh) 2012-06-07
CN102486733B (zh) 2015-10-21

Similar Documents

Publication Publication Date Title
CN102486733A (zh) 引导程序的升级方法和装置
CN101344854B (zh) 通过SD卡对嵌入式Linux设备进行升级的方法
US6317827B1 (en) Method and apparatus for fault tolerant flash upgrading
US7870378B2 (en) Electronic system with NAND flash memory storing boot code and highly reliable boot up method
KR100778293B1 (ko) 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
KR100415371B1 (ko) 컴퓨터
CN109358887B (zh) 一种单片机程序的在线升级方法、装置及系统
JP2005190201A (ja) 情報処理装置および該装置用のromイメージ生成装置
CN102033790A (zh) 一种嵌入式系统bootrom的升级方法和装置
CN101667154A (zh) 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
JPH10214201A (ja) マイクロコンピュータ
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN102012831A (zh) 基于Linux平台的OTA升级方法
CN101553789A (zh) 管理快闪存储器中挂起请求的方法及系统
CN102662749A (zh) 一种双Boot切换的实现方法及装置
CN101872306B (zh) 一种实现软件更新和软件备份的嵌入式系统及其实现方法
CN109189486B (zh) 显示屏驱动的加载方法、装置、终端及存储介质
CN113377392B (zh) 可后台升级固件的系统及后台升级固件方法
CN101334737A (zh) 一种嵌入式设备的启动或复位方法
CN104428751A (zh) 程序数据的更新方法及设备
CN101505331A (zh) 升级智能手机系统软件的方法和装置
US7003656B2 (en) Automatic selection of firmware for a computer that allows a plurality of process types
CN112445540B (zh) 程序运行方法、系统、终端及存储介质
CN103064654A (zh) 集成电路、电子系统及提供otp内存配置可更新的方法
CN102508676A (zh) 嵌入式系统启动方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant