引导程序在线升级方法

文档序号:6613009阅读:239来源:国知局
专利名称:引导程序在线升级方法
技术领域
本发明涉及通讯领域,更具体地,涉及一种嵌入式系统中的引 导程序在线升级方法。
背景技术
在通讯系统应用单板的嵌入式中央处理系统(CPU)中,程序 普遍分为两部分引导程序和应用程序。其中,引导程序固化在闪 烁存储器(FLASH)中,用来存放单板CPU的引导代码,在单板 上电或复位时,引导单板CPU的启动、初始化以及自检等操作。引 导程序引导起CPU后,会把应用程序从FLASH中调到内存中,单 ^反开始运^f亍应用禾呈序。为了便于维护,应用程序和引导程序都有在线升级的需求。在 第CN02131441号专利中,描述了一种引导程序的存储装置及其保 障在线升级的方法,但是该技术的缺点在于需要使用两片引导程序 存储器,在单板上占用的空间大,不利于高集成度的单板。另外, 在第CN03137422号专利中,描述了 一种引导程序热升级的方法, 该技术的确定是将引导程序分为基本引导模块和非固化的主引导模 块,只支持后者的在线升级;而前者不能在线升级。第 CN20061000203 5号专利也描述了 一种引导程序的在线升级才支术,并且只支持可升级引导程序的在线升级
发明内容
鉴于现有技术中的问题,本发明提供了 一种引导程序在线升级 方法,用于通过单片的fl导程序存储装置和可编程器件来实现引导 程序的在线升级。本发明可以完成对单片引导程序存储装置的引导 程序正确地在线升级,并且支持引导禾呈序X反本的回退。根据本发明的引导程序在线升级方法包括以下步骤步骤一, 当中央处理系统上电时,通过存储在? I导程序存储装置的可1导程序 存储主用页中的主引导程序来引导启动中央处理系统;步骤二,在 主引导程序正常的情况下,对存储在可编程器件的非在用引导程序 存储页中的非在用引导程序进行校验;步骤三,当非在用引导程序 正确时,判断是否需要更新非在用引导程序,并且当不需要更新非 在用引导程序时,中央处理系统保持运4亍;以及步骤四,当非在用 引导程序需要更新时,更新非在用引导程序,并切换到通过非在用 引导程序来重新启动中央处理系统。
1导程序存储装置在空间上包括卩1导程序存储主用页和引导 程序存储备用页,其中,在引导程序存储主用页中存储主用引导程 序,以及在引导程序存储备用页中存储备用引导程序。另外,可编程器件在空间上包括在用引导程序存储页和非在 用引导程序存储页,其中在在用引导程序存储页中存储在用引导程 序,以及在非在用引导程序存储页中存储非在用引导程序。才艮据本发明的引导程序在线升级方法在步骤一之前还包括将 1导程序存储装置的数据线连接至中央处理系统;以及将? I导程序 存储装置的地址线连接至可编程器件。在本发明中,可编程器件无需上电加载。该可编程器件可以是 电可纟察自动控制逻辑单元。 在步骤三中,当非在用引导程序不正确时,执4亍以下处理更 新非在用引导程序,并切换到非在用引导程序来重新启动中央处理 系统,然后返回到步骤二。在步骤二中,判断主引导程序是否正常的过程包括如下处理 当主引导程序开始运行时,使主卩1导程序向可编程器件发送信号; 如果可编程单元在预定时间内收到信号,则主引导程序正常;以及 如果可编程单元没有在预定时间内收到信号,则主引导程序不正常。当主引导程序不正常时,执行以下处理将主引导程序切换到 存储在非在用引导程序存储页中的非在用引导程序;通过非在用引 导程序来重新引导启动中央处理系统,然后返回到步骤二。当中央处理系统复位时,执行以下处理才艮据可编程器件的在 用引导程序存储页,可编程器件将中央处理单元的地址线进行译码 并传送给引导程序存储装置;以及通过记录在在用引导程序存储页 中的在用引导^f呈序来引导启动中央处理系统,然后返回到步骤二。因而,采用本发明,在单片引导程序存储装置的基础上,可以 实现引导程序的在线升级,并支持回退,^使用该方法可以大大减少 维护人员到前台更换引导程序存储装置的次数,加快系统升级时间, 方Y更调i式。本发明的其它特征和优点将在随后的说明书中阐述,并且,部 分地从说明书中变得显而易见,或者通过实施本发明而了解。本发 明的目的和其他优点可通过在所写的说明书、权利要求书、以及附 图中所特别指出的结构来实现和获得。


附图用来^是供对本发明的进一步理解,并且构成i兌明书的一部 分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1是才艮据本发明的引导程序在线升级方法的流程图;图2是实现本发明的引导程序在线升级过程的硬件构成图;以及图3是根据本发明实施例的引导程序上电和在线升级过程的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此 处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本 发明。图1是根据本发明的引导程序在线升级方法的流程图。如图1 所示,该方法包4舌以下步骤步骤S102,当中央处理系统上电时,通过存储在引导程序存储 装置的引导程序存储主用页中的主引导程序来引导启动中央处理系 统;步骤S104,在主引导程序正常的情况下,对存储在可编程器件 的非在用引导程序存储页中的非在用引导程序进行校验;步骤S106,当非在用引导程序正确时,判断是否需要更新非在 用引导程序,并且当不需要更新非在用引导程序时,中央处理系统 保持运行;以及步骤S108,当非在用引导程序需要更新时,更新非在用引导程 序,并切换到通过非在用引导程序来重新启动中央处理系统。 I导程序存储装置在空间上包括f I导程序存储主用页和引导 程序存储备用页,其中,在引导程序存储主用页中存储主用引导程 序,以及在引导程序存储备用页中存储备用引导程序。另外,可编程器件在空间上包括在用引导程序存储页和非在 用引导程序存储页,其中在在用引导程序存储页中存储在用引导程 序,以及在非在用引导程序存储页中存储非在用引导程序。根据本发明的引导程序在线升级方法在步骤S102之前还包括 将? 1导程序存储装置的数据线连接至中央处理系统;以及将51导程 序存储装置的地址线连接至可编程器件。在本发明中,可编程器件无需上电加载。该可编程器件可以是 电可#察自动控制逻辑单元。在步骤S106中,当非在用引导禾呈序不正确时,执4亍以下处理 更新非在用引导程序,并切换到非在用引导程序来重新启动中央处 理系统,然后返回到步骤S104。在步骤S104中,判断主引导程序是否正常的过程包括如下处 理当主引导程序开始运行时,使主引导程序向可编程器件发送信 号;如果可编程单元在预定时间内收到信号,则主引导程序正常; 以及如果可编程单元没有在预定时间内收到信号,则主引导程序不 正常。
当主引导程序不正常时,执行以下处理将主引导程序切换到 存储在非在用引导程序存储页中的非在用引导程序;通过非在用引 导禾呈序来重新引导启动中央处理系统,然后返回到步骤S104。当中央处理系统复位时,执行以下处理才艮据可编程器件的在 用引导程序存储页,可编程器件将中央处理单元的地址线进行译码 并传送给引导程序存储装置;以及通过记录在在用引导程序存储页 中的在用引导程序来引导启动中央处理系统,然后返回到步骤 S104。具体i也i兌,该方法包4舌:^下步骤 该方法具体包4舌以下步艰《1 )系统上电时,直接由引导程序存储主用页的主引导程序引导 系统;2) 在引导程序代码最初,引导程序向自动控制逻辑单元发出一握手信号;3) 如果自动控制逻辑单元在规定的时间内没有收到步骤2)的 握手信号,就会判断51导程序存储主用页中的主引导程序为空或不 正常,进入步骤4),如果逻辑自动控制单元在失见定的时间内收到了 步骤2 )的握手信号,进入步骤5 );4 )切换到非在用引导程序存储备页中的非在用引导程序,由非 在用引导程序引导系统重新启动,并进入步骤2);5)对非在用引导程序进行校验,非在用引导程序正确,进入步 骤6),否则进入步骤7);
序,如果需要更新,进入步骤7),否则进入步骤8);7 )更新非在用的引导程序存储页中的非在用的引导程序,并切 换到非在用的引导程序引导系统重新启动,进入步骤2);以及8)系统正式运4亍。这样,就完成单片引导程序存储装置中的引导程序在线升级过程。图2是实现本发明的引导程序在线升级过程的硬件构成图。如 图2所示,实现本发明的装置包含一个引导程序存储装置,并将其 在逻辑空间上划分为引导程序存储主用页和引导程序存+者备用页, 分别存储主用引导程序和备用引导程序。本发明的装置还包含一个 自动控制逻辑单元。引导程序存储装置的数据线直接与CPU相连、 地址线与自动控制逻辑单元相连,自动控制逻辑单元^4居启动信息, 对CPU的地址线进行一次译码,并且控制CPU的复位信号,4吏得 CPU通过相应的? 1导程序启动,在这里称单板在用的51导程序为在 用引导程序,其所在的存储空间为在用引导程序存储页,相对应的 就是非在用引导程序存储页和非在用引导程序。自动控制逻辑单元 必须具备不需上电加载的特性,可以为电可4察除PLD。在图2中,引导程序存储装置按照地址空间一分为二引导程 序存储主用页和引导程序存储备用页。引导程序存储装置的数据线 以及读写信号线直接与CPU相连,地址线与可编程器件EPLD相连。 CPU的复位信号由EPLD提供。在EPLD中留有启动信息寄存器, 用来存储单板的启动信息,即记录了是从引导程序存储主用页还是 从引导程序存储备用页引导系统,单板上电后,其默认值为引导程 序存储主用页。在EPLD中存在一个译码电路,才艮据单板启动信息,
将CPU的地址线进行译码再送出给引导程序存储装置,使得CPU 的启动地址对应到在用引导程序存储页的首地址。在EPLD中还存 在一个超时复位控制电路,此电路包括一个状态寄存器,记录着引 导程序切换状态或者正常状态两种状态,上电后其初始值是引导程 序切换状态。超时复位控制电路会在上电后一定时间检测这个状态 寄存器,如果是引导程序切换状态,超时复位控制电路就会产生一 个HRST复位信号,用来复位CPU,同时将启动信息取反,即启动 信息变为非在用引导程序存储页;如果是正常状态,超时复位控制 电路不做任何动作。图3是根据本发明实施例的引导程序上电和在线升级过程的流 程图。如图3所示,包括如下步骤步骤S302,上电后,EPLD的启动信息寄存器为引导程序存储 主用页,EPLD i奪码电路将CPU的地址线直4妄送给引导程序存4诸装 置,单才反由主用引导程序引导启动,同时,EPLD中超时复位控制 电路的状态寄存器为引导程序切换状态,或者,在收到CPU的HRST 复位信号后,根据启动信息寄存器,EPLD译码电路将CPU的地址 线进行译码送给引导程序存储装置,单板由启动信息寄存器记录的 在用引导程序引导启动;步骤S304-S308,在用引导程序^码正确的情况下,在用引导 程序在^见定的时间内,将EPLD中超时复位控制电路的状态寄存器 写为正常状态;然后继续运4于到步骤S310,否则,在到达^见定的时 间后,状态寄存器还在引导程序切换状态,超时复位控制电路产生 HRST复位信号,复位CPU,并同时将启动信息改写为非在用引导 程序存储页,进入步骤S302;步骤S310,对非在用引导程序进行校验,如果非在用引导程序 为空或不正确,进入步骤S314,否则进入步骤S312;
步骤S312,判断是否需要更新备用引导程序,需要进入步骤 S314,不需要进入步骤S316;步骤S314,主用引导程序会将单板数据库中的引导程序更新到 引导程序存储备用页中,然后将EPLD中超时复位控制电路中的状 态寄存器写为引导程序切换状态,同时将单板启动信息寄存器改为非在用引导程序存储页,规定的时间到后,超时复位控制电路产生 CPU的HRST信号复位CPU,使CPU由非在用引导程序启动;以 及步骤S316,单板进入正常运行状态。综上所述,通过本发明的引导程序在线升级方法,在单片引导 程序存储装置的基础上,可以实现引导程序的在线升级,并支持回 退,卩使用该方法可以大大减少维护人员到前台更换《1导程序存储装 置的次凄t,加快系统升级时间,方<更调试。以上仅为本发明的优选实施例而已,并不用于限制本发明,对 于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均 应包含在本发明的保护范围之内。
权利要求
1.一种引导程序在线升级方法,用于通过单片的引导程序存储装置和可编程器件来实现引导程序的在线升级,其特征在于,包括以下步骤步骤一,当中央处理系统上电时,通过存储在所述引导程序存储装置的引导程序存储主用页中的主引导程序来引导启动所述中央处理系统;步骤二,在所述主引导程序正常的情况下,对存储在所述可编程器件的非在用引导程序存储页中的非在用引导程序进行校验;步骤三,当所述非在用引导程序正确时,判断是否需要更新所述非在用引导程序,并且当不需要更新所述非在用引导程序时,所述中央处理系统保持运行;以及步骤四,当所述非在用引导程序需要更新时,更新所述非在用引导程序,并切换到通过所述非在用引导程序来重新启动所述中央处理系统。
2. 根据权利要求1所迷的方法,其特征在于,所述引导程序存储 装置在空间上包括51导程序存储主用页和引导程序存储备用 页,其中在所述引导程序存储主用页中存储所述主用引导程序,以及在所述引导程序存储备用页中存储备用引导程序。
3. 根据权利要求1所述的方法,其特征在于,所述可编程器件在 空间上包括在用引导程序存储页和非在用引导程序存储页, 其中在所述在用引导程序存储页中存储在用引导程序,以及 在所述非在用引导程序存储页中存储所述非在用引导程序。
4. 根据权利要求1所述的方法,其特征在于,在所述步骤一之前, 还包括将所述引导程序存储装置的数据线连接至所述中央处理 系纟克;以及将所述引导程序存储装置的地址线连接至所述可编程器件。
5. 根据权利要求1所述的方法,其特征在于,所述可编程器件无 需上电力口载。
6. 根据权利要求5所述的方法,其特征在于,所述可编程器件是 电可纟察自动控制逻辑单元。
7. 根据权利要求1所述的方法,其特征在于,在所述步骤三中, 当所述非在用引导程序不正确时,执行以下处理更新所述非在用引导程序,并切换到所述非在用引导程序 来重新启动所述中央处理系统,然后返回到所述步骤二。
8. 纟艮据4又利要求要求1所述的方法,其特征在于,在所述步骤二 中,判断所述主引导程序是否正常的过程包括如下处理当所述主引导程序开始运行时,使所述主引导程序向所述 可编程器件发送信号; 如果所述可编程单元在预定时间内收到所述信号,则所述主引导程序正常;以及如果所述可编程单元没有在预定时间内收到所述信号,则 所述主引导^f呈序不正常。
9. 根据权利要求3和8所述的方法,其特征在于,当所述主引导 禾呈序不正常时,扭j于以下处理将所述主引导程序切换到存储在所述非在用引导程序存 储页中的所述非在用引导程序;通过所述非在用引导程序来重新引导启动所述中央处理 系纟充,然后返回到所述步驶《二。
10. 根据权利要求3所述的方法,其特征在于,当所述中央处理系 统复4立时,扭^于以下处理根据所述可编程器件的所述在用引导程序存储页,所述可述引导程序存储装置;以及通过记录在所述在用引导程序存储页中的所述在用引导 程序来引导启动所述中央处理系统,然后返回到所述步骤二。
全文摘要
本发明提供了一种引导程序在线升级方法,包括当中央处理系统上电时,通过存储在引导程序存储装置的引导程序存储主用页中的主引导程序来引导启动中央处理系统;在主引导程序正常的情况下,对存储在可编程器件的非在用引导程序存储页中的非在用引导程序进行校验;当非在用引导程序正确时,判断是否需要更新非在用引导程序,并且当不需要更新非在用引导程序时,中央处理系统保持运行;以及当非在用引导程序需要更新时,更新非在用引导程序,并切换到通过非在用引导程序来重新启动中央处理系统。从而在单片引导程序存储装置的基础上实现引导程序的在线升级并支持回退,减少了维护人员到前台更换引导程序存储装置的次数,方便调试。
文档编号G06F9/445GK101158907SQ20071016551
公开日2008年4月9日 申请日期2007年10月26日 优先权日2007年10月26日
发明者李吉红 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1