著录项信息
专利名称 | 一种引导程序存储装置及其保障在线升级的方法 |
申请号 | CN02131441.1 | 申请日期 | 2002-10-14 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-04-21 | 公开/公告号 | CN1490817 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/445 | IPC分类号 | G;0;6;F;9;/;4;4;5;;;G;1;1;C;1;6;/;2;2;;;G;1;1;C;7;/;2;4查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市科技园科发路华为用服大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 黄英冬;雕峻峰;刘海东;何杰 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 张颖玲 |
摘要
本发明公开了一种引导程序存储装置,其与CPU系统相连,且包含主引导程序存储器、备份引导程序存储器,该装置进一步包含一个自动控制单元、两个复位电路及一个测试寄存器,其中至少一个为看门狗复位电路,由自动控制单元在维护节点对该模块的主引导程序存储器烧录不成功时,控制该装置切换为由备用引导程序存储器引导系统重新启动,对主引导程序存储器进行重新烧录。本发明同时还公开了一种保障引导程序存储装置在线升级的方法,该方法实现了对在线升级不成功的引导程序存储器进行自动重新烧录。采用上述的装置和方法能够保障引导程序存储器正确升级,同时简化了操作过程,缩短了重新烧录的时间。
1、一种引导程序存储装置,其与CPU系统相连,且包含主引导程序存 储器、备份引导程序存储器,其特征在于:该装置进一步包含一个自动控 制单元、两个复位电路及一个测试寄存器,其中至少一个复位电路为看门 狗复位电路;
主引导程序存储器和备份引导程序存储器及自动控制单元都通过总线 与CPU系统相连;自动控制单元分别与主引导程序存储器、备份引导程序 存储器和两个复位电路相连;自动控制单元控制其中一个复位电路产生正 常复位信号,并将该正常复位信号传输到CPU系统,同时自动控制单元控 制CPU系统由主引导程序存储器引导启动;且自动控制单元对CPU系统启 动后在预先设定的检测时间内写测试寄存器的次数进行计数,当预定时间 内的写操作次数小于预定次数,主引导程序存储器在线升级不成功时,控 制看门狗复位电路产生异常复位信号,并将该异常复位信号传输到CPU系 统,同时自动控制单元将CPU系统切换为由备份引导程序存储器引导启动。
2、如权利要求1所述的引导程序存储装置,其特征在于:所述的自动 控制单元为可编程逻辑器件,或现场可编程门阵列,或数字信号处理器或 CPU。
3、如权利要求1或2所述的引导程序存储装置,其特征在于:该装置 进一步包含一个报警电路,该电路与所述的自动控制单元相连。
4、如权利要求3所述的引导程序存储装置,其特征在于:所述的报警 电路为报警指示灯或声音报警器。
5、一种保障引导程序存储装置在线升级的方法,在维护节点对该装置 的主引导程序存储器进行在线升级不成功时,切换为由备用引导程序存储 器引导CPU系统重新启动,对主引导程序存储器进行重新烧录,其特征在 于,在引导程序存储装置中设置自动控制单元及测试寄存器,该方法包括 以下几个步骤:
1)CPU系统启动后在预先设定的检测时间内对测试寄存器反复进行写 操作,自动控制单元对CPU系统写测试寄存器的次数进行计数,并判断预 定时间内的写操作次数是否大于或等于预定次数,如果是,则确定主引导 程序存储器合法,系统正常运行;否则,确定主引导程序存储器非法,进 入步骤2);
2)切换到备份引导程序存储器,由备份引导程序存储器引导重新启动 CPU系统,启动后CPU系统向维护节点申请重新烧录主引导程序存储器;
3)维护节点重新烧录主引导程序存储器,烧录成功后,切换到主引导 程序存储器,重启系统,进入步骤1)。
6、如权利要求5所述的在线升级方法,其特征在于,该方法进一步包 括:系统根据CPU系统执行一次写操作需要的时间,预先设定防止CPU系 统误写测试寄存器的预定次数。
7、如权利要求5所述的在线升级方法,其特征在于,该方法步骤2) 所述的切换到备份引导程序存储器的方法为:由自动控制单元产生控制信 号选通备份引导程序存储器,同时屏蔽主引导程序存储器。
8、如权利要求5所述的在线升级方法,其特征在于,所述的步骤2) 进一步包括:由备份引导程序存储器引导重新启动后,自动控制单元产生 主引导程序存储器烧录失败报警信号并发送。
9、如权利要求5所述的在线升级方法,其特征在于:维护节点进一步 设置一个自动重载模块,维护节点通过该模块对引导程序存储装置的主引 导程序存储器进行自动重新烧录。
技术领域\n本发明涉及一种存储模块在线升级技术,特别涉及一种引导程序存储 装置及其保障在线升级的方法。\n技术背景\n目前,各种类型的处理器系统中普遍存在引导程序存储装置,包括引导程 序存储器(BOOTROM)和外围电路,通常采用掉电保持类存储器,一般存储 器的容量不大,大致从1k字节到512k字节左右,用于存放系统引导代码,在系 统上电及复位时,引导系统开机启动、初始化系统以及自检等操作。\n引导程序存储装置中最早采用只读存储器(ROM)、可擦除可编程只读存 储器(EPROM)等器件,当升级其内容时需要更换芯片,或用烧录器重新烧 录,即不可在线升级,系统需要断电并插拔芯片;为增加系统灵活性,各类系 统逐渐采用多电路可擦除可编程只读存储器(E2PROM)或闪烁存储器 (FLASH)作为BOOTROM,这样,在系统运行过程中可以对其进行擦除编程 操作,实现了系统无需断电、无需插拔芯片即对其BOOTROM进行升级。\n出于方便维护、降低维护成本等目的,大多处理器系统中提供远程或近程 在线升级BOOTROM功能,即在系统运行过程中从远程或近程维护节点下载代 码,并对BOOTROM进行烧录。其中,远程是指系统通过互连网或其他通信网 络与维护节点相连,近程是指系统通过硬件接口与维护节点直接相连。\n为了保障BOOTROM远程或近程在线升级过程中,在系统故障后仍能正常 启动和重新进行在线升级,目前一般采用在单片存储器内部分页,或使用两片 BOOTROM,分别放置启动代码与备份启动代码,在外部采用跳线选择引导程 序的方法。重新升级的过程为:首先由系统管理人员判断升级是否失败;升级 失败则由系统管理人员修改跳线设置;重启系统,通过系统软件将备份 BOOTROM或单片存储器内部备份页中的引导程序写到主BOOTROM或单片 存储器内部主页中;系统再次重新启动后再进行升级。譬如升级过程中意外断 电造成BOOTROM烧录错误,会导致系统无法正确引导而死机,此时只能人为 判断并进行修改跳线设置等恢复操作,待重新烧录成功后,将跳线恢复为原本 的设置,再重新启动系统。\n可见,现有的BOOTROM远程或近程在线升级保障方法不够完善,仍然需 要人为监控,对升级过程中的意外处理不够智能,非常不方便。而且整个重新 烧录过程需要一定的时间,导致业务长时间中断,这对于电信、环境监测等对 实时性要求很高,不能有较长时间业务中断且需要进行远程维护的系统来说, 不利影响是显而易见的。\n发明内容\n有鉴于此,本发明的主要目的在于提供一种引导程序存储装置,该装 置在引导程序存储器烧录不成功时,能够自动对主引导程序存储器进行自 动重新烧录。\n本发明的另一个主要目的在于提供一种保障引导程序存储装置在线升 级的方法,该方法能够自动对引导程序存储器进行自动重新烧录,保障引 导程序存储器正确升级,并且能够缩短重新烧录的时间。\n根据上述目的的一个方面,本发明提供了一种保障在线升级的引导程 序存储装置,其与CPU系统相连,且进一步包含一个自动控制单元、两个 复位电路及一个测试寄存器,其中至少一个复位电路为看门狗复位电路;\n主引导程序存储器和备份引导程序存储器及自动控制单元都通过总线 与CPU系统相连;自动控制单元分别与主引导程序存储器、备份引导程序 存储器和两个复位电路相连;自动控制单元控制其中一个复位电路产生正 常复位信号,并将该正常信号传输到CPU系统,同时自动控制单元控制CPU 系统由主引导程序存储器引导启动;且自动控制单元对CPU系统启动后在 预先设定的检测时间内写测试寄存器的次数进行计数,当预定时间内的写 操作次数小于预定次数,主引导程序存储器在线升级不成功时,控制看门 狗复位电路产生异常复位信号,并将该异常信号传输到CPU系统,同时自 动控制单元将CPU系统切换为由备份引导程序存储器引导启动。\n上述的自动控制单元可以为可编程逻辑器件,或现场可编程门阵列, 或数字信号处理器,或CPU。\n上述的装置可以进一步包含一个报警电路,该电路与所述的自动控制 单元相连。该报警电路可以为报警指示灯或声音报警器。\n根据上述目的的另一个方面,本发明提供了一种保障引导程序存储装 置在线升级的方法,在维护节点对该装置的主引导程序存储器进行在线升 级不成功时,切换为由备用引导程序存储器引导CPU系统重新启动,对主 引导程序存储器进行重新烧录,在引导程序存储装置中设置自动控制单元 及测试寄存器,该方法包括以下几个步骤:\n1)CPU系统启动后在预先设定的检测时间内对测试寄存器反复进行写 操作,自动控制单元对CPU系统写测试寄存器的次数进行计数,并判断预 定时间内的写操作次数是否大于或等于预定次数,如果是,则确定主引导 程序存储器合法,系统正常运行;否则,确定主引导程序存储器非法,进 入步骤2);\n2)切换到备份引导程序存储器,由备份引导程序存储器引导重新启动 CPU系统,启动后CPU系统向维护节点申请重新烧录主引导程序存储器;\n3)维护节点重新烧录主引导程序存储器,烧录成功后,切换到主引导 程序存储器,重启系统,进入步骤1)。\n系统可以根据CPU系统执行一次写操作需要的时间,预先设定防止 CPU系统误写测试寄存器的预定次数。\n步骤2)所述的切换到备份引导程序存储器的方法可以为:由自动控制 单元产生控制信号选通备份引导程序存储器,同时屏蔽主引导程序存储器。\n步骤2)可以进一步包括:由备份引导程序存储器引导重新启动后,自 动控制单元产生主引导程序存储器烧录失败报警信号并发送。\n另外,维护节点可以进一步设置一个自动重载模块,维护节点通过该 模块对引导程序存储装置的主引导程序存储器进行自动重新烧录。\n由上述方案可以看出,本发明的关键在于:采用包含两个引导程序存 储器、两个复位电路和一个自动控制单元构成的引导程序存储装置;该自 动控制单元对主引导程序存储器进行检测,如果其非法则自动切换为由备 份引导程序存储器引导自动复位重启,由维护节点对主引导程序存储器进 行重新烧录。\n因此,本发明所提供的保障在线升级的引导程序存储装置及其实现方 法所有操作完全由自动控制单元来控制,不需要人为监控,实现了引导程 序存储器升级过程中的自动重新烧录,硬件系统构造相当坚固,可靠性强, 保障了引导程序存储器正确升级,同时简化了操作过程,缩短了重新烧录 的时间。\n附图说明\n图1为本发明的一个较佳实施例的引导程序存储装置的硬件结构示意 图;\n图2为本发明状态转移图;\n图3为应用本发明进行在线升级的流程示意图;\n图4为烧录程序的流程示意图;\n图5为本发明方法中检测主引导程序存储器的时序示意图。\n具体实施方式\n为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例, 并参照附图,对本发明进一步详细说明。\n图1为本发明的一个较佳实施例的引导程序存储装置的硬件结构示意 图。其中,主引导程序存储器和备份引导程序存储器及自动控制单元都通 过总线与CPU系统相连。如图1所示,引导程序存储装置110通过数据线 1、地址线2和复位信号线3与CPU系统120连接,CPU系统120直接与 维护节点130连接,当然CPU系统120也可以通过一个远程维护通道连接 到远程维护节点。\n其中,引导程序存储装置110包括一个主引导程序存储器115、一个备 份引导程序存储器114、一个自动控制单元,其可以为可编程逻辑器件、现 场可编程门阵列、数字信号处理器或CPU,本实施例采用了可编程逻辑器 件113、一个复位电路111和一个看门狗复位电路112。\n主引导程序存储器115的地址线和备份引导程序存储器114的地址线 相连,且与CPU系统120的低位地址线21相连,主引导程序存储器115 的数据线和备份引导程序存储器114的数据线相连,且与上述CPU系统 120的数据线1相连。\n可编程逻辑器件113的地址线与CPU系统120的高位地址线22相连, 并对高位地址进行地址译码产生两个片选信号CS0、CS1,两个片选信号分 别与主引导程序存储器115和备份引导程序存储器114相连。可编程逻辑 器件113的数据线也与上述CPU系统120的数据线1相连。可编程逻辑器 件113产生系统复位信号,该信号由复位信号输出端RST_Out通过复位信 号线3连接到上述CPU系统120的复位信号输入端RST_In,用于复位CPU 系统120。可编程逻辑器件113还产生正常复位控制信号cpld_rst0,该信号 连接到复位电路111。同时可编程逻辑器件113产生异常复位控制信号 cpld_rst1,该信号连接到看门狗复位电路112。\n复位电路111,本实施例采用ADM708芯片,其接收正常复位控制信 号cpld_rst0,并产生正常系统复位信号Reset0,该信号连接到可编程逻辑 器件113,可编程逻辑器件113接收该信号,产生系统复位信号通过复位信 号线3发送给CPU系统120。\n看门狗复位电路112,本实施例采用ADM706芯片,其接收异常复位控制 信号cpld_rst1,并产生异常系统复位信号Reset1,该信号连接到可编程逻辑器 件113,可编程逻辑器件113接收该信号,产生系统复位信号通过复位信号线3 发送给CPU系统120。该电路看门狗的输入端、输出端分别与可编程逻辑器件 的看门狗信号输出端WDO和看门狗信号输入端WDI相连。\n本发明采用两个复位器件,并分别用正常复位控制信号cpld_rst0、异常复 位控制信号clpd_rst1触发复位,以此来区分各种不同原因引起的复位,使用不 同的处理方法,以下是详细说明:\nA、上电复位,始终使用主引导程序存储器115引导系统,并对其进行合法 性检测。\nB、手动按钮复位,与上电复位相同,也使用主引导程序存储器115引导系 统,并对其进行合法性检测。\nC、如果检测主引导程序存储器115为非法,则由异常复位控制信号 clpd_rst1触发复位,倒换地址即通过片选信号屏蔽主引导程序存储器115,选通 备份引导程序存储器114,使用备份引导程序存储器114引导系统。\nD、正常工作时看门狗溢出或软件由正常复位控制信号cpld_rst0触发复位, 使用主引导程序存储器115引导系统,进行主引导程序存储器115合法性检测。\n另外,可编程逻辑器件113提供复位状态锁存寄存器,通过其存储的Reset0 和Reset1的值来标志何种原因触发复位。\n可编程逻辑器件113通过采样图1中复位电路111产生的正常系统复位信号 Reset0、看门狗复位电路112产生的异常系统复位信号Reset1,可以区分上电复 位与非上电复位等。这两个系统复位信号都是低电平0表示复位有效,表1给出 了Reset0、Reset1取值与复位状态的对应关系。 Reset0Reset1 0 1 0 上电复位 按钮、看门狗、正常软件复位 1 主引导程序存储器检测不通过触发复位 无复位\n 表1\n虽然可以利用可编程逻辑器件113内部寄存器内容上电默认为“0”的特点, 来区分上电复位与在线复位,但是采用可编程逻辑器件113默认状态并不能保 证足够安全可靠,因此本实施例不采用上电默认值,而是设置复位状态锁存寄 存器,通过其存储的Reset0和Reset1的值来标志何种原因触发复位。\n系统每次复位可编程逻辑器件113均锁存上述的两个复位信号Reset0和 Reset1,这样,即组成了一个完整的以复位、看门狗、内部寄存器为标志的状 态机,如图2所示。图2为本发明状态转移图。说明如下:\nI.复位状态,根据复位信号Reset0和Reset1的值选择引导程序存储 器;\nII.检测状态,检查主引导程序存储器是否合法,‘是’进入状态III, ‘否’进入状态IV;\nIII.运行状态,软件指令复位或看门狗溢出,进入状态V;\nIV.检测不通过,触发cpld_rst1,Reset1有效,进入复位状态;\nV.系统正常重启,触发cpld_rst0,Reset0有效,进入复位状态。\n图3为应用本发明进行在线升级的流程示意图。\n如图3所示,首先执行步骤301,由可编程逻辑器件113对主引导程序 存储器115进行检测。如果主引导程序存储器115为合法,则进入步骤308, 执行烧录程序,在线升级完成。\n在烧录过程中,如果编程过程发生意外,譬如突然掉电重启,则可编 程逻辑器件113会检测到主引导程序存储器115不合法,于是进入步骤302, 由可编程逻辑器件113对其与CPU系统120连接的地址进行译码,产生选 通信号选通备份引导程序存储器114,并控制看门狗复位电路112产生异常 系统复位信号。这样,CPU系统120的启动地址就切换到了备份引导程序 存储器114。\n接着执行步骤303,CPU系统120根据接收到的异常系统复位信号复 位重启。\n接着执行步骤304,由备份引导程序存储器引导系统,同时,可编程逻 辑器件113向CPU系统120发送烧录失败报警信号。本发明的引导程序存 储装置110还可以包含一个报警电路,该电路可以为报警指示灯或声音报 警器,其与可编程逻辑器件113相连,在可编程逻辑器件113向CPU系统 120发送报警信号的同时产生光或声的报警,提示主引导程序存储器115烧 录失败。\n然后执行步骤305,CPU系统120由备份引导程序存储器114引导重新 启动后,接收CPU系统120发送的报警信号,向维护节点130发送报警信 息,同时申请重新烧录。\n继续步骤306,进入烧录程序。\n烧录完成后,进入步骤307,系统可以通过手动按钮或重新上电再次重 新启动,可编程逻辑器件113仍对主引导程序存储器115进行检测,主引 导程序存储器115合法后恢复由主引导程序存储器115引导CPU系统启动。\n其中,烧录程序的过程参见图4,图4为烧录程序的流程示意图。如图 4所示,首先,执行步骤401,维护节点130向CPU系统120下达升级命令, 并下载代码。\n然后执行步骤402,CPU系统120对主引导程序存储器115进行擦写。\n接着,执行步骤403,对烧录完的程序进行校验并判断校验是否正确。\n如果烧录检验正确,则进入步骤405,烧录完成,CPU系统120向维护 节点130发送确认信息,升级完成。\n如果编程过程发生错误,烧录校验不通过,则步骤进入404,CPU系统 120向维护节点申请重新烧录,重复执行步骤401-403,直到烧录检验正确。 这个过程由软件完成无需硬件保障。\n为了使整个升级过程更加智能,在维护节点还可以进一步设置一个自 动重载模块,该模块在维护节点收到申请重新烧录信息后对引导程序存储 装置的主引导程序存储器进行自动重新烧录,这样可以在很大程度上降低 维护工作量。\n在上述的整个升级过程中,检测主引导程序存储器115是否合法是本 发明方案中最关键的一步,以下是详细说明。\n检测主引导程序存储器115是否合法的原理是:\n由于主引导程序存储器115内只有启动代码,不能对可编程逻辑器件 113内部寄存器进行写操作,只有当CPU系统完成启动真正运行起来之后, 才能对此寄存器操作。因此,可以把这种写操作是否完成作为断定CPU系 统120是否已经运行起来和主引导程序存储器115是否正确完成启动的标 志。\n所以预先设定检测时间并在引导程序存储装置110的可编程逻辑器件 113内部寄存器中设置一个测试寄存器,CPU系统120完成启动后对其进行 反复地写操作,直至主引导程序存储器115预先设定的检测时间到。这样, 在系统启动之后的规定长度时间(T)内,以CPU系统120向可编程逻辑 器件113内部某固定地址(ADDR0)的寄存器发起指定内容(DATA0)的 写操作次数(M),作为检测标准,来判定这个系统启动是否正常,即这个 主引导程序存储器115是否正确合法。\n同时,为了屏蔽系统跑飞时地址线上的偶然的误操作,对写操作次数 进行计数。\n检测主引导程序存储器115是否合法的时序,参见图5。图5为本发明方法 中检测主引导程序存储器的时序示意图。如图5所示,看门狗复位电路112中的 看门狗会在1~2秒之间溢出,使用看门狗溢出信号WDO触发可编程逻辑器件 113的内部计数器,计数器加1操作的同时自动清狗,这样就组成一个时间为T 的定时器,也可以看作是一个溢出时间更长的看门狗;同时对CPU系统120写 测试寄存器的次数m计数。\n当T定时器溢出时,确定次数m大于等于指定的次数M,检测成功, 主引导程序存储器115合法,系统进入正常工作状态,看门狗恢复正常,1~2 秒溢出,由CPU系统进行直接给看门狗电路发送喂狗信号,可编程逻辑器件113 不再进行自动清狗操作。正常工作时软件跑飞导致看门狗WDO溢出,可编程 逻辑器件113触发正常复位控制信号clpu_rst0有效,系统重启。\n否则,次数m小于指定的次数M,就认为引导失败,主引导程序存 储器115非法,触发异常复位控制信号clpu_rst1有效,重启系统,主引导 程序存储器115与备份引导程序存储器114地址相互倒换,即选通备份引 导程序存储器114,屏蔽主引导程序存储器115,使用备份引导程序存储器 114引导系统。\n也就是说,可编程逻辑器件113对CPU系统120写测试寄存器的次数 进行计数,在预定时间内如果完成或超过了预定次数的写操作,则判断主 引导程序存储器115为合法,否则主引导程序存储器115为非法。\n由此可见,由于本发明完全通过硬件实现,不依赖软件操作,硬件系 统构造相当坚固,可靠性强。同时,本发明覆盖了升级操作过程中的各种 情况,在任何恶劣情况下都可与远程维护节点配合完成正确的升级操作。\n这样,该方法实现了引导程序存储器升级过程中的自动重新烧录,保 障了引导程序存储器正确升级,同时简化了操作过程,缩短了重新烧录的 时间。所以,该方法对维护需求降至最少,即使升级失败也无需现场人为 操作,无需断电或长时间中断业务,非常适合在电信、环境监测等要求严 格的环境里应用。
法律信息
- 2016-11-30
未缴年费专利权终止
IPC(主分类): G06F 9/445
专利号: ZL 02131441.1
申请日: 2002.10.14
授权公告日: 2007.09.12
- 2007-09-12
- 2004-09-15
- 2004-04-21
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1998-08-13
| | |
2
| | 暂无 |
1997-01-03
| | |
3
| | 暂无 |
2001-02-13
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |