CN100549959C - 引导程序在线升级方法 - Google Patents
引导程序在线升级方法 Download PDFInfo
- Publication number
- CN100549959C CN100549959C CNB2007101655157A CN200710165515A CN100549959C CN 100549959 C CN100549959 C CN 100549959C CN B2007101655157 A CNB2007101655157 A CN B2007101655157A CN 200710165515 A CN200710165515 A CN 200710165515A CN 100549959 C CN100549959 C CN 100549959C
- Authority
- CN
- China
- Prior art keywords
- boot
- page
- storage
- bootstrap program
- processing system
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种引导程序在线升级方法,包括:当中央处理系统上电时,通过存储在引导程序存储装置的引导程序存储主用页中的主引导程序来引导启动中央处理系统;在主引导程序正常的情况下,对存储在可编程器件的非在用引导程序存储页中的非在用引导程序进行校验;当非在用引导程序正确时,判断是否需要更新非在用引导程序,并且当不需要更新非在用引导程序时,中央处理系统保持运行;以及当非在用引导程序需要更新时,更新非在用引导程序,并切换到通过非在用引导程序来重新启动中央处理系统。从而在单板引导程序存储装置的基础上实现引导程序的在线升级并支持回退,减少了维护人员到前台更换引导程序存储装置的次数,方便调试。
Description
技术领域
本发明涉及通讯领域,更具体地,涉及一种嵌入式系统中的引导程序在线升级方法。
背景技术
在通讯系统应用单板的嵌入式中央处理系统(CPU)中,程序普遍分为两部分:引导程序和应用程序。其中,引导程序固化在闪烁存储器(FLASH)中,用来存放单板CPU的引导代码,在单板上电或复位时,引导单板CPU的启动、初始化以及自检等操作。引导程序引导起CPU后,会把应用程序从FLASH中调到内存中,单板开始运行应用程序。
为了便于维护,应用程序和引导程序都有在线升级的需求。在第CN02131441号专利中,描述了一种引导程序的存储装置及其保障在线升级的方法,但是该技术的缺点在于需要使用两片引导程序存储器,在单板上占用的空间大,不利于高集成度的单板。另外,在第CN03137422号专利中,描述了一种引导程序热升级的方法,该技术的确定是将引导程序分为基本引导模块和非固化的主引导模块,只支持后者的在线升级,而前者不能在线升级。第CN200610002035号专利也描述了一种引导程序的在线升级技术,但是,该技术也是把引导程序分为基本引导程序和可升级引导程序,并且只支持可升级引导程序的在线升级。
发明内容
鉴于现有技术中的问题,本发明提供了一种引导程序在线升级方法,用于通过单板引导程序存储装置和可编程器件来实现引导程序的在线升级。本发明可以完成对单板引导程序存储装置的引导程序正确地在线升级,并且支持引导程序版本的回退。
根据本发明的引导程序在线升级方法包括以下步骤:步骤一,当中央处理系统上电时,通过存储在引导程序存储装置的引导程序存储主用页中的主引导程序来引导启动中央处理系统;步骤二,在主引导程序正常的情况下,对存储在可编程器件的非在用引导程序存储页中的非在用引导程序进行校验;步骤三,当非在用引导程序正确时,判断是否需要更新非在用引导程序,并且当不需要更新非在用引导程序时,中央处理系统保持运行;以及步骤四,当非在用引导程序需要更新时,更新非在用引导程序,并切换到通过非在用引导程序来重新启动中央处理系统,其中,当主引导程序不正常时,将主引导程序切换到存储在非在用引导程序存储页中的非在用引导程序,并通过非在用引导程序来重新引导启动中央处理系统,然后返回到步骤二,以及当非在用引导程序不正确时,更新非在用引导程序,并切换到非在用引导程序来重新启动中央处理系统,然后返回到步骤二。
引导程序存储装置在空间上包括:引导程序存储主用页和引导程序存储备用页,其中,在引导程序存储主用页中存储主引导程序,以及在引导程序存储备用页中存储备用引导程序。
另外,可编程器件在空间上包括:在用引导程序存储页和非在用引导程序存储页,其中在在用引导程序存储页中存储在用引导程序,以及在非在用引导程序存储页中存储非在用引导程序。
根据本发明的引导程序在线升级方法在步骤一之前还包括:将引导程序存储装置的数据线连接至中央处理系统;以及将引导程序存储装置的地址线连接至可编程器件。
在本发明中,可编程器件无需上电加载。该可编程器件可以是电可擦自动控制逻辑单元。
在步骤二中,判断主引导程序是否正常的过程包括如下处理:当主引导程序开始运行时,使主引导程序向可编程器件发送信号;如果可编程器件在预定时间内收到信号,则主引导程序正常;以及如果可编程器件没有在预定时间内收到信号,则主引导程序不正常。
当主引导程序不正常时,执行以下处理:将主引导程序切换到存储在非在用引导程序存储页中的非在用引导程序;通过非在用引导程序来重新引导启动中央处理系统,然后返回到步骤二。
当中央处理系统复位时,执行以下处理:根据可编程器件的在用引导程序存储页,可编程器件将中央处理系统的地址线进行译码并传送给引导程序存储装置;以及通过记录在在用引导程序存储页中的在用引导程序来引导启动中央处理系统,然后返回到步骤二。
因而,采用本发明,在单板引导程序存储装置的基础上,可以实现引导程序的在线升级,并支持回退,使用该方法可以大大减少维护人员到前台更换引导程序存储装置的次数,加快系统升级时间,方便调试。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明的引导程序在线升级方法的流程图;
图2是实现本发明的引导程序在线升级过程的硬件构成图;以及
图3是根据本发明实施例的引导程序上电和在线升级过程的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是根据本发明的引导程序在线升级方法的流程图。如图1所示,该方法包括以下步骤:
步骤S102,当中央处理系统上电时,通过存储在引导程序存储装置的引导程序存储主用页中的主引导程序来引导启动中央处理系统;
步骤S104,在主引导程序正常的情况下,对存储在可编程器件的非在用引导程序存储页中的非在用引导程序进行校验;
步骤S106,当非在用引导程序正确时,判断是否需要更新非在用引导程序,并且当不需要更新非在用引导程序时,中央处理系统保持运行;以及
步骤S108,当非在用引导程序需要更新时,更新非在用引导程序,并切换到通过非在用引导程序来重新启动中央处理系统。
引导程序存储装置在空间上包括:引导程序存储主用页和引导程序存储备用页,其中,在引导程序存储主用页中存储主用引导程序,以及在引导程序存储备用页中存储备用引导程序。
另外,可编程器件在空间上包括:在用引导程序存储页和非在用引导程序存储页,其中在在用引导程序存储页中存储在用引导程序,以及在非在用引导程序存储页中存储非在用引导程序。
根据本发明的引导程序在线升级方法在步骤S102之前还包括:将引导程序存储装置的数据线连接至中央处理系统;以及将引导程序存储装置的地址线连接至可编程器件。
在本发明中,可编程器件无需上电加载。该可编程器件可以是电可擦自动控制逻辑单元。
在步骤S106中,当非在用引导程序不正确时,执行以下处理:更新非在用引导程序,并切换到非在用引导程序来重新启动中央处理系统,然后返回到步骤S104。
在步骤S104中,判断主引导程序是否正常的过程包括如下处理:当主引导程序开始运行时,使主引导程序向可编程器件发送信号;如果可编程单元在预定时间内收到信号,则主引导程序正常;以及如果可编程单元没有在预定时间内收到信号,则主引导程序不正常。
当主引导程序不正常时,执行以下处理:将主引导程序切换到存储在非在用引导程序存储页中的非在用引导程序;通过非在用引导程序来重新引导启动中央处理系统,然后返回到步骤S104。
当中央处理系统复位时,执行以下处理:根据可编程器件的在用引导程序存储页,可编程器件将中央处理系统的地址线进行译码并传送给引导程序存储装置;以及通过记录在在用引导程序存储页中的在用引导程序来引导启动中央处理系统,然后返回到步骤S104。
具体地说,该方法包括如下步骤:
该方法具体包括以下步骤:
1)系统上电时,直接由引导程序存储主用页的主引导程序引导系统;
2)在引导程序代码最初,引导程序向自动控制逻辑单元发出一握手信号;
3)如果自动控制逻辑单元在规定的时间内没有收到步骤2)的握手信号,就会判断引导程序存储主用页中的主引导程序为空或不正常,进入步骤4),如果逻辑自动控制单元在规定的时间内收到了步骤2)的握手信号,进入步骤5);
4)切换到非在用引导程序存储备页中的非在用引导程序,由非在用引导程序引导系统重新启动,并进入步骤2);
5)对非在用引导程序进行校验,非在用引导程序正确,进入步骤6),否则进入步骤7);
6)判断是否需要更新非在用引导程序存储页中的非在用引导程序,如果需要更新,进入步骤7),否则进入步骤8);
7)更新非在用的引导程序存储页中的非在用的引导程序,并切换到非在用的引导程序引导系统重新启动,进入步骤2);以及
8)系统正式运行。
这样,就完成单板引导程序存储装置中的引导程序在线升级过程。
图2是实现本发明的引导程序在线升级过程的硬件构成图。如图2所示,实现本发明的装置包含一个引导程序存储装置,并将其在逻辑空间上划分为引导程序存储主用页和引导程序存储备用页,分别存储主用引导程序和备用引导程序。本发明的装置还包含一个自动控制逻辑单元。引导程序存储装置的数据线直接与CPU相连、地址线与自动控制逻辑单元相连,自动控制逻辑单元根据启动信息,对CPU的地址线进行一次译码,并且控制CPU的复位信号,使得CPU通过相应的引导程序启动,在这里称单板在用的引导程序为在用引导程序,其所在的存储空间为在用引导程序存储页,相对应的就是非在用引导程序存储页和非在用引导程序。自动控制逻辑单元必须具备不需上电加载的特性,可以为电可擦除PLD。
在图2中,引导程序存储装置按照地址空间一分为二:引导程序存储主用页和引导程序存储备用页。引导程序存储装置的数据线以及读写信号线直接与CPU相连,地址线与可编程器件EPLD相连。CPU的复位信号由EPLD提供。在EPLD中留有启动信息寄存器,用来存储单板的启动信息,即记录了是从引导程序存储主用页还是从引导程序存储备用页引导系统,单板上电后,其默认值为引导程序存储主用页。在EPLD中存在一个译码电路,根据单板启动信息,将CPU的地址线进行译码再送出给引导程序存储装置,使得CPU的启动地址对应到在用引导程序存储页的首地址。在EPLD中还存在一个超时复位控制电路,此电路包括一个状态寄存器,记录着引导程序切换状态或者正常状态两种状态,上电后其初始值是引导程序切换状态。超时复位控制电路会在上电后一定时间检测这个状态寄存器,如果是引导程序切换状态,超时复位控制电路就会产生一个HRST复位信号,用来复位CPU,同时将启动信息取反,即启动信息变为非在用引导程序存储页;如果是正常状态,超时复位控制电路不做任何动作。
图3是根据本发明实施例的引导程序上电和在线升级过程的流程图。如图3所示,包括如下步骤:
步骤S302,上电后,EPLD的启动信息寄存器为引导程序存储主用页,EPLD译码电路将CPU的地址线直接送给引导程序存储装置,单板由主用引导程序引导启动,同时,EPLD中超时复位控制电路的状态寄存器为引导程序切换状态,或者,在收到CPU的HRST复位信号后,根据启动信息寄存器,EPLD译码电路将CPU的地址线进行译码送给引导程序存储装置,单板由启动信息寄存器记录的在用引导程序引导启动;
步骤S304-S308,在用引导程序代码正确的情况下,在用引导程序在规定的时间内,将EPLD中超时复位控制电路的状态寄存器写为正常状态;然后继续运行到步骤S310,否则,在到达规定的时间后,状态寄存器还在引导程序切换状态,超时复位控制电路产生HRST复位信号,复位CPU,并同时将启动信息改写为非在用引导程序存储页,进入步骤S302;
步骤S310,对非在用引导程序进行校验,如果非在用引导程序为空或不正确,进入步骤S314,否则进入步骤S312;
步骤S312,判断是否需要更新备用引导程序,需要进入步骤S314,不需要进入步骤S316;
步骤S314,主用引导程序会将单板数据库中的引导程序更新到引导程序存储备用页中,然后将EPLD中超时复位控制电路中的状态寄存器写为引导程序切换状态,同时将单板启动信息寄存器改为非在用引导程序存储页,规定的时间到后,超时复位控制电路产生CPU的HRST信号复位CPU,使CPU由非在用引导程序启动;以及
步骤S316,单板进入正常运行状态。
综上所述,通过本发明的引导程序在线升级方法,在单板引导程序存储装置的基础上,可以实现引导程序的在线升级,并支持回退,使用该方法可以大大减少维护人员到前台更换引导程序存储装置的次数,加快系统升级时间,方便调试。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种引导程序在线升级方法,用于通过单板引导程序存储装置和可编程器件来实现引导程序的在线升级,其特征在于,包括以下步骤:
步骤一,当中央处理系统上电时,通过存储在所述引导程序存储装置的引导程序存储主用页中的主引导程序来引导启动所述中央处理系统;
步骤二,在所述主引导程序正常的情况下,对存储在所述可编程器件的非在用引导程序存储页中的非在用引导程序进行校验;
步骤三,当所述非在用引导程序正确时,判断是否需要更新所述非在用引导程序,并且当不需要更新所述非在用引导程序时,所述中央处理系统保持运行;以及
步骤四,当所述非在用引导程序需要更新时,更新所述非在用引导程序,并切换到通过所述非在用引导程序来重新启动所述中央处理系统,
其中,当所述主引导程序不正常时,将所述主引导程序切换到存储在所述非在用引导程序存储页中的所述非在用引导程序,并通过所述非在用引导程序来重新引导启动所述中央处理系统,然后返回到所述步骤二,以及
当所述非在用引导程序不正确时,更新所述非在用引导程序,并切换到所述非在用引导程序来重新启动所述中央处理系统,然后返回到所述步骤二。
2.根据权利要求1所述的方法,其特征在于,所述引导程序存储装置在空间上包括:引导程序存储主用页和引导程序存储备用页,其中
在所述引导程序存储主用页中存储所述主引导程序,以及在所述引导程序存储备用页中存储备用引导程序。
3.根据权利要求1所述的方法,其特征在于,所述可编程器件在空间上包括:在用引导程序存储页和非在用引导程序存储页,其中
在所述在用引导程序存储页中存储在用引导程序,以及
在所述非在用引导程序存储页中存储所述非在用引导程序。
4.根据权利要求1所述的方法,其特征在于,在所述步骤一之前,还包括:
将所述引导程序存储装置的数据线连接至所述中央处理系统;以及
将所述引导程序存储装置的地址线连接至所述可编程器件。
5.根据权利要求1所述的方法,其特征在于,所述可编程器件无需上电加载。
6.根据权利要求5所述的方法,其特征在于,所述可编程器件是电可擦自动控制逻辑单元。
7.根据权利要求1所述的方法,其特征在于,在所述步骤二中,判断所述主引导程序是否正常的过程包括如下处理:
当所述主引导程序开始运行时,使所述主引导程序向所述可编程器件发送信号;
如果所述可编程器件在预定时间内收到所述信号,则所述主引导程序正常;以及
如果所述可编程器件没有在预定时间内收到所述信号,则所述主引导程序不正常。
8.根据权利要求3所述的方法,其特征在于,当所述中央处理系统复位时,执行以下处理:
根据所述可编程器件的所述在用引导程序存储页,所述可编程器件将所述中央处理系统的地址线进行译码并传送给所述引导程序存储装置;以及
通过记录在所述在用引导程序存储页中的所述在用引导程序来引导启动所述中央处理系统,然后返回到所述步骤二。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101655157A CN100549959C (zh) | 2007-10-26 | 2007-10-26 | 引导程序在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101655157A CN100549959C (zh) | 2007-10-26 | 2007-10-26 | 引导程序在线升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101158907A CN101158907A (zh) | 2008-04-09 |
CN100549959C true CN100549959C (zh) | 2009-10-14 |
Family
ID=39307018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101655157A Expired - Fee Related CN100549959C (zh) | 2007-10-26 | 2007-10-26 | 引导程序在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100549959C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043651B (zh) * | 2009-10-22 | 2013-07-03 | 鸿富锦精密工业(深圳)有限公司 | Nand闪存及其数据更新管理方法 |
CN102023908B (zh) * | 2010-12-03 | 2015-06-03 | 中兴通讯股份有限公司 | 一种引导程序备份方法及装置 |
CN102364446A (zh) * | 2011-11-17 | 2012-02-29 | 北京天地云箱科技有限公司 | 嵌入式系统及其安全升级方法和运行方法 |
CN106257417B (zh) * | 2015-06-17 | 2021-07-20 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 |
JP6702269B2 (ja) * | 2017-06-15 | 2020-05-27 | 住友電気工業株式会社 | 制御装置、制御方法、およびコンピュータプログラム |
CN109375941B (zh) * | 2018-09-29 | 2022-01-07 | 延锋伟世通电子科技(南京)有限公司 | 一种应用于组合仪表的新型主从式flash boot loader软件升级方法 |
CN111338771B (zh) * | 2020-02-13 | 2023-06-30 | 深圳震有科技股份有限公司 | 引导程序切换处理方法及装置、计算机设备、介质 |
CN113064652B (zh) * | 2021-04-01 | 2023-03-14 | 海光信息技术股份有限公司 | 用于中央处理单元的启动代码的装置、方法、设备和介质 |
-
2007
- 2007-10-26 CN CNB2007101655157A patent/CN100549959C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101158907A (zh) | 2008-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100549959C (zh) | 引导程序在线升级方法 | |
CN102214113B (zh) | 一种操作系统升级方法、装置及终端 | |
CN100517248C (zh) | 软件版本升级管理装置和软件版本升级管理方法 | |
CN101329632B (zh) | 一种使用boot启动cpu的方法与装置 | |
US7293183B2 (en) | System for storing working context in a non-volatile memory while in a power-off suspend mode and restoring the working context when the power-off suspend mode is released | |
CN102855146A (zh) | 固件更新系统及方法 | |
CN102722394B (zh) | 一种嵌入式设备的启动升级方法 | |
CN103365696A (zh) | Bios镜像文件获取方法及装置 | |
CN101615128B (zh) | 一种单片机在线升级的方法及装置 | |
CN101271396A (zh) | 电子装置及其在线更新固件的方法 | |
CN101017441A (zh) | 一种电子设备、电子设备的启动方法及bios升级方法 | |
CN101169728A (zh) | 双引导启动装置及方法 | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
CN102508676A (zh) | 嵌入式系统启动方法及装置 | |
CN102043636B (zh) | 现场可编程门阵列位文件下载的方法及装置 | |
KR100381001B1 (ko) | 이동통신단말기에서 부팅 시간 단축방법 | |
JP2007122151A (ja) | ブート制御装置およびブート制御方法 | |
CN102446101A (zh) | 固件强制升级的系统及其固件的强制升级方法 | |
CN100353321C (zh) | 具有主用和备用引导程序的系统及启动方法 | |
CN103019773A (zh) | 系统升级掉电保护方法、系统及移动终端 | |
CN102402447A (zh) | 设备启动方法和设备 | |
CN102184115A (zh) | 升级系统软件的方法及设备 | |
CN1323361C (zh) | 一种使用多个启动程序存储器的处理器系统及其启动方法 | |
CN105589702A (zh) | 通过t卡更新/备份操作系统的方法及装置 | |
CN113696732A (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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151225 Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68 Patentee after: Nanjing Zhongxing New Software Co., Ltd. Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building Patentee before: ZTE Corporation |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091014 Termination date: 20161026 |