一种使用BOOT启动CPU的方法与装置制造方法及图纸

技术编号:2821707 阅读:368 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种使用BOOT启动CPU的方法与装置,用于电信、通讯领域,该发明专利技术中的BOOT启动装置采用单一的FLASH存储介质,将FLASH按照不同的地址空间划分为至少2个BOOT启动区,当某一BOOT启动区无法正常启动CPU时,采用其他的BOOT启动区重新启动CPU。该发明专利技术解决了单BOOT无法对通讯领域中的突发事件如断电等,以及远程升级的可靠性提供足够保证的问题,提高了远程操作性和升级可靠性;而且此双BOOT装置硬件结构简单,同样适合对空间尺寸要求严格的小单板模块使用。

【技术实现步骤摘要】

本专利技术涉及电信、通讯领域,更具体地说涉及使用BOOT引导启动CPU的方法与装置。技术背景现阶段电信,通讯领域多机架多单板综合系统,多数复杂的功能单板都有自己的主控 CPU单元。'在系统主控单板的CPU系统部分,BOOT引导部分是CPU系统的基础,固化 性较高,但可升级性较差。现在较多使用方法是选用插座+PLCC封装的小容量Flash来承担BOOT功能的物理介 质,优点是可脱离单板用烧片机来进行BOOT改动、升级调试;缺点是单板可加工性差,如 果提供在线升级功能可靠性差。另外随着成本和可维护性能要求,逐步减少对插座的使用;另一种方法是使用较大容量FLASH具有特有BOOTt地址空间来完成CPU的启动引导 功能。但这些单BOOT装置都无法对通讯领域中的突发事件如断电等,以及远程升级的可靠 性提供足够的保证。现有还有双BOOT双FLASH介质的主备引导启动的方式,如图1其硬件装置较复杂, 在版本回退管理上较复杂,不适合空间尺寸小型化的设备。
技术实现思路
本专利技术要解决的技术问题是如何保证CPU启动引导和远程升级的可靠性,即当启动出 现异常情况使BOOT程序破坏,导致系统不能复位/重上电从而正常工作时,如何使BOOT 仍然可以再次引导启动CPU正常工作的问题。本专利技术提供了一种使用BOOT启动CPU的方法,其特征是,BOOT启动单元采用单一 的FLASH存储介质,将存储介质按照不同的地址空间划分为至少2个BOOT启动区,当某 一BOOT启动区无法正常启动CPU时,采用其他的BOOT启动区重新启动CPU。上述方法可以包括如下步骤 (1) EPLD在启动BOOT —定时间之后检测其寄存器标志位;如果EPLD寄 存器标志位写入l,表明当前BOOT启动区可以正确加载,进入步骤2;如果标志 位未被置为l,则说明当前BOOT启动区是不可用的,此时将标志位进行切换,从另一 个启动区进行启动,重复上述操作;(2) EPLD在启动BOOT之后检测寄存器标志位;如果EPLD寄存器 标志位写入l,表明当前BOOT的版本初始化成功;如果标志位未被置为1,则说明当前的 BOOT初始化不正确,此时将标志位进行切换,从另一个启动区进行启动,重复上述过 程。上述方法还可以把划分的某一 BOOT启动区设定为默认启动区,CPU首先从该启动区 启动,当该启动区无法启动CPU时,再从其他启动区启动CPU。 并且当CPU启动成功后,还可以对看门狗进行喂狗操作。木专利技术还提供了一种使用BOOT启动CPU的装置,包括CPU控制单元,BOOT启动单 元和EPLD逻辑单元,EPLD —端连接CPU —端连接BOOT,其特征是BOOT启动单元采 用单一的FLASH存储介质,将存储介质按照不同的地址空间划分为至少2个BOOT启动区, 当某一 BOOT启动区无法正常启动CPU时,利用其他的BOOT启动区重新启动CPU。 上述装置,还可以在存储介质特定的地址空间存放默认启动区标识。 上述装置还可以包括看门狗单元,其与EPLD共同构成硬件逻辑部分。本专利技术采用双BOOT单FLASH存储介质,可以采用软件方式远程进行可靠boot升级, 并在升级失败情况下可以进行前后版本的回退;也同样解决了单BOOT无法对通讯领域中的 突发事件如断电等问题,以及对BOOT升级的可靠性,纠错性以及远端可靠性提供了保证; 并且此双BOOT装置硬件结构简单,同样适合对空间尺寸要求严格的小单板模块使用,降低 了产品成本,提高了设备可维护性。附图说明图1是现有技术双BOOT双FLASH装置原理框图。 图2是本专利技术实施例1双BOOT单FLASH装置工作原理框图。 图3是本专利技术实施例1种FLASH存储介质的物理分区示意图。 图4是本专利技术实施例2的流程图。具体实施方式实施例1一种使用BOOT引导启动CPU的装置,主要用于通讯系统设备具有主控CPU单元的单 板。具体如图2和图3所示,包括以下儿部分。1、 主控CPU单元包括内存和其附属的通讯接口、看门狗接口、以及控制信号。主控CPU单元在上电或复位状态后,按照硬件配置的加载方式(基于Boot ROM的镜像加载), 向已QOT发起加载镜像动作,在加载BOOT过程中,CPU向逻辑单元寄存器发送启动成功 不翻转切换标志,可以在启动开始和结束分两次置位。加载到指定内存RAM地址后,跳转 到内存中执行。此时CPU基本配置完成,主要的通讯接口已经打通,并对看门狗进行喂狗操 作。2、 双BOOT争FLASH单元将FLASH单元按照不同的地址空间划分双BOOT启动 区启动区0和启动区1,甚至启动区2, 3等等多BOOT备份。本实施例中BOOT分为启 动区0和1两个区;在FLASH特定的地址空间还可以存放一些非易失性信息,例如制定的 默认启动区标识等。3、 看门狗和EPLD逻辑单元EPLD和看门狗单元是实现双boot装置启动控制策略的 硬件逻辑部分。看门狗在装置上电到CPU接管喂狗这一过程的喂狗策略是由EPLD硬件逻 辑单元来完成的,主要针对加载过程中遇到异常情况进行复位操作。EPLD提供PC或CPU 加载FLASH物理接口,同时提供寄存器来读出并存储FLASH的非易失性信息。同时根据 CPU启动是否成功的翻转信号来控制总线译码,进行启动区0/1切换功能。实施例2一种使用BOOT引导启动CPU的方法,其流程图如图4所示。图4中左侧内容分别表 示由看门狗和EPLD逻辑单元完成的任务,右侧内容表示由CPU的BOOT单元完成的任务。本实施例中将FLASH单元按照不同的地址空间划分双BOOT启动区启动区0和启动 区1 。在FLASH特定的地址空间还可以存放一些非易失性信息,例如制定的默认启动区标识。 在此默认启动区是启动区0。启动方法步骤如下1、 CPU上电看门狗或软件产生复位前,由EPLD逻辑负责从FLASH中获取双BOOT控 制字,以此决定从启动区0或启动区1启动;本实施例设定默认从启动区0启动;2、 EPLD拉起上述原因产生的复位信号给CPU, CPU开始BOOT过程;EPLD应根据 CPU选型做出提供地址转换,以便CPU可以正确地从BOOT区中读取启动代码进行BOOT 启动;3、 CPU进行BOOT启动过程,EPLD可以在其内部启动快速翻转和慢速翻转的定时监控;4、 EPLD在启动BOOT —定时间(本实施例选定2秒)之后检测其寄存器标 志位;CPU的BOOT在其最初的启动代码文件中,即向EPLD寄存器标志位写入1,表明当前BOOT已经可以正确加载到CPU处理,不允许EPLD进行BOOT快速翻转;如果 标志位未被置为l,则说明当前BOOT是不可用的,此时立即将标志位进行切换,从启 动区l进行启动;5、 EPLD在启动BOOT之后检测寄存器标志位;如果BOOT可以正常运行,则在运行到加载运行版本之前(超时等待自动加载之前), BOOT应再次与EPLD握手,即向EPLD寄存器标志位写入1,表明当前BOOT的 版本已经完成最初的引导,等着从版本设备(HOST, FLASH或者硬盘等)上加载运行版本, 不允许EPLD进行BOOT快速翻转;如果标志位未被置为1 ,则说明当前的BOOT初始化不 正确,此吋将BDBCR标志位进行切换,从启动区l进行启动,重复上述过程;如果启动区本文档来自技高网...

【技术保护点】
一种使用BOOT启动CPU的方法,其特征是,BOOT启动单元采用单一的FLASH存储介质,将存储介质按照不同的地址空间划分为至少2个BOOT启动区,当某一BOOT启动区无法正常启动CPU时,采用其他的BOOT启动区重新启动CPU。

【技术特征摘要】

【专利技术属性】
技术研发人员:封葳黄瑞华郭俊敏
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1