[发明专利]一种嵌入式系统BOOTROM的升级方法和装置有效
申请号: | 201010588943.2 | 申请日: | 2010-12-15 |
公开(公告)号: | CN102033790A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 刘霞忠;翟红健 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/445 |
代理公司: | 北京元本知识产权代理事务所 11308 | 代理人: | 秦力军 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 bootrom 升级 方法 装置 | ||
技术领域
本发明涉及嵌入式系统技术领域,特别涉及一种嵌入式系统BOOTROM的升级方法和装置。
背景技术
嵌入式系统软件由于应用场景的改变、功能的扩展与完善和BUG的修正等因素,都需要不断地升级,而系统软件的升级也会带来系统引导程序BOOTROM的升级。BOOTROM升级的可靠与否对嵌入式系统应用来说十分关键,若升级失败,可能会直接导致系统无法启动。
BOOTROM一般都存储在闪存FLASH中,目前业界存在的BOOTROM升级方法及存在的缺陷有:1、直接覆盖FLASH中以前的BOOTROM,该方法存在的问题是若升级失败会直接导致系统无法启动;2、FLASH分成两个区,BOOTROM在两个区轮流升级,该方法存在的问题是多次升级后,若升级失败或系统遭到破坏,用户再也无法把BOOTROM回退到出厂时的设置;3、FLASH分成两个区,一个区保留出厂时的BOOTROM,每次升级只升级另一区,该方法存在的问题是若升级失败或系统遭到破坏,用户只能把BOOTROM回退到出厂时的设置,而无法回退到升级前的BOOTROM状态。
发明内容
本发明的目的在于提供一种嵌入式系统BOOTROM的升级方法,用于解决将BOOTROM回退到出厂时设置和升级前状态的问题。
本发明的另一目的在于提供一种嵌入式系统BOOTROM的升级装置,用于解决将BOOTROM回退到出厂时设置和升级前状态的问题。
根据本发明的一个方面,提供了一种嵌入式系统BOOTROM的升级方法,包括以下步骤:
A、将FLASH存储器分成大小相同的第一至第三分区,其中,第一分区存储出厂版本系统引导程序BOOTROM,第二和第三分区存储升级版本BOOTROM;
B、可编程逻辑器件根据内部存储器中存储的BOOTROM启动信息值,来确定第二和第三分区中存储升级版本BOOTROM的分区;
C、将升级版本BOOTROM存储至步骤B中确定的第二或第三分区中。
优选的,在确定第二和第三分区中存储升级版本BOOTROM的分区包括以下步骤:
若当前系统从第一或第三分区启动,则将第二分区确定为存储升级版本BOOTROM的分区,并修改可编程逻辑器件内部存储器中存储的BOOTROM启动信息的值,以便下次从第二分区启动BOOTROM;
若当前系统从第二分区启动,则将第三分区确定为存储升级版本BOOTROM的分区,并修改可编程逻辑器件内部存储器中存储的BOOTROM启动信息的值,以便下次从第三分区启动BOOTROM。
优选的,从第二分区启动BOOTROM包括以下步骤:
若启动成功,则启动过程结束;
若启动失败,则可编程逻辑器件判断上一次启动时是否自己有过把第三分区切换至第二分区,若判断结果为否,则将启动区切换至第三分区,若判断结果为是,则将启动区切换至第一分区,并重启系统。
优选的,从第三分区启动BOOTROM包括以下步骤:
若启动成功,则启动过程结束;
若启动失败,则可编程逻辑器件判断上一次启动时是否自己有过把第二分区切换至第三分区,若判断结果为否,则将启动区切换至第二分区,若判断结果为是,则将启动区切换至第一分区,并重启系统。
优选的,启动失败的切换过程由可编程逻辑器件控制,可编程逻辑器件在切换时修改其内部存储器中存储的BOOTROM启动信息值,CPU在BOOTROM升级时也会向可编程逻辑器件发送命令让其修改内部存储器中存储的BOOTROM启动信息值。
根据本发明的另一方面,提供了一种嵌入式系统BOOTROM的升级装置,包括:
FLASH存储器,分成大小相同的第一至第三分区,其中,第一分区存储出厂版本系统引导程序BOOTROM,第二和第三分区存储升级版本BOOTROM;
可编程逻辑器件,内部含有存储器,可根据内部存储器中存储的BOOTROM启动信息值,来确定第二和第三分区中存储升级版本BOOTROM的分区,并在确定分区后将升级版本BOOTROM存储至确定的第二或第三分区中。
优选的,若可编程逻辑器件内部存储器中的BOOTROM启动信息值显示当前系统是从第一或第三分区启动,则将第二分区确定为存储升级版本BOOTROM的分区;若可编程逻辑器件内部存储器中的BOOTROM启动信息值显示当前系统是从第二分区启动,则将第三分区确定为存储升级版本BOOTROM的分区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010588943.2/2.html,转载请声明来源钻瓜专利网。