一种嵌入式设备中引导程序备份及更新的方法及装置的制作方法

文档序号:6606051阅读:113来源:国知局
专利名称:一种嵌入式设备中引导程序备份及更新的方法及装置的制作方法
技术领域
本发明涉及嵌入式系统领域,尤其涉及的是一种嵌入式设备中弓丨导程序备份及更 新的方法及装置。
背景技术
目前嵌入式系统已广泛应用在电子产品中,一般应用中该些电子产品的嵌入式系 统均设置存储器,用于存储CPU的启动代码,该代码通常为BOOT引导程序代码。当CPU接 收到复位信息进行复位、重新启动时,系统自动从存储器中读取代码并运行程序,从而达到 对CPU进行配置、启动的功能。嵌入式设备引导程序的完整性对于整个的设备安全性上具有极其重要的地位, 如果引导程序被破坏,那么这个系统将会无法使用。目前的嵌入式软件中一般只在Nand flash (Nand闪存或Nand存储器)的驱动中对引导程序的存储位置进行只读保护,并且只在 引导程序中提供某种可以更新自己的方法,如果在这个过程中发送意外,如断电,或新引导 程序有问题,同样会导致系统的不可用。另外,有时用户有可能会将保存BootLoader (弓丨导程序)的正常数据块擦除,导致 系统不能启动。因此,现有技术还有待于改进和发展。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种嵌入式设备 中引导程序备份及更新的方法及装置,其可以有效地保护引导程序,保证系统的稳定性,并 保护备份的弓I导程序不被破坏,且引导程序升级方式灵活。本发明解决技术问题所采用的技术方案如下一种嵌入式设备中引导程序备份及更新的方法,其中,包括以下步骤A、设置用于存储系统整个引导程序的存储区,并将所述系统整个引导程序分成三 个部分,分别为第一引导程序,主引导程序和备份的主引导程序;其中,所述第一引导程序保存在所述存储区的第一块,用于负责检查主引导程序 的有效性;所述主引导程序保存在所述存储区的正常块中;所述备份的主引导程序保存在某些被人为标记为坏块数据块中,用于隐藏备份的 主引导程序;B、所述第一引导程序检查所述主引导程序是否有效,当所述主引导程序是有效 的,则加载所述主引导程序运行;否则转入步骤C ;C、当所述主引导程序是无效的或者检测到某个外部输入,则搜寻所述坏块数据 块,并对坏块数据块中的所述备份的主引导程序数据进行有效性检查,如果检查通过,则加 载备份的主引导程序。
4
所述的嵌入式设备中引导程序备份及更新的方法,其特征在于,其中D、在所述主引导程序和所述备份的主引导程序中根据某些特定的组合按键输入, 通过读取相关的升级描述文件及相关的目标文件,实现所述第一引导程序,主引导程序和 备份的主引导程序的更新。所述的嵌入式设备中引导程序备份及更新的方法,其中,其还包括步骤E、当无特定的组合按键输入,所述主引导程序正常加载系统运行。所述的嵌入式设备中引导程序备份及更新的方法,其中,所述步骤D还包括步骤D1、升级备份的主引导程序后将所使用的数据块人为标记为坏块,并更新到坏块 链表中。所述的嵌入式设备中引导程序备份及更新的方法,其中,所述步骤C中的外部输 入包括一个固定的端口的低电平输入,用于更新所述主引导程序。一种嵌入式设备中引导程序备份及更新的装置,其中,包括三个用于存储引导程序的存储区,其中,用于存储负责检查主引导程序有效性的 第一引导程序的存储区为第一存储区,设置在存储引导程序的存储器的第一块;用于存储主引导程序的存储区为主存储区,用于存储备份的主引导程序的存储区 为备份存储区,且所述备份存储区人为标记为坏块数据块;第一加载单元,用于当所述第一引导程序检查所述主引导程序有效时,则加载所 述主引导程序运行;加载备份单元,用于当所述主引导程序是无效的或者检测到某个外部输入,则搜 寻所述坏块数据块,并对坏块数据块中的备份的主引导程序数据进行有效性检查,如果检 查通过,则加载备份的主引导程序。所述的嵌入式设备中引导程序备份及更新的装置,其中,其还包括,特定组合按键更新单元,用于在所述主引导程序和所述备份的主引导程序中根据 某些特定的组合按键输入,通过读取相关的升级描述文件及相关的目标文件,实现所述第 一引导程序,主引导程序和备份的主引导程序的更新。所述的嵌入式设备中引导程序备份及更新的装置,其中,其还包括,第二加载单元,用于当无特定的组合按键输入,所述主引导程序正常加载系统运 行。 本发明所提供的嵌入式设备中弓丨导程序备份及更新的方法及装置,其可以有效地 保护引导程序,保证系统的稳定性,并通过人为将用于存储备份的主引导程序的备份存储 区标记为坏块数据块,可以隐藏备份的主引导程序,避免备份的主引导程序被系统删除,能 有效地保护备份的弓I导程序不被破坏,并且引导程序升级方式灵活。


图1是本发明实施例提供的嵌入式设备中引导程序备份及更新的方法流程图;图2为本发明实施例提供的嵌入式设备中引导程序备份及更新的装置原理框图。
具体实施例方式本发明所提供的嵌入式设备中引导程序备份及更新的方法及装置,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说 明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供的一种嵌入式设备中引导程序备份及更新的方法,如图1所 示,包括以下步骤步骤S110、设置用于存储系统整个引导程序的存储区,并将所述系统整个引导程 序分成三个部分,分别为第一引导程序,主引导程序和备份的主引导程序;其中,所述第一引导程序保存在所述存储区的第一块,用于负责检查主引导程序 的有效性;所述主引导程序保存在所述存储区的正常块中;所述备份的主引导程序保存在被人为标记为坏块数据块的所述存储区的正常块 中,用于隐藏备份的主引导程序,避免备份的主引导程序被系统删除;步骤S120、所述第一引导程序检查所述主引导程序是否有效,当所述主引导程序 是有效的,则加载所述主引导程序运行;否则转入步骤S130 ;步骤S130、当所述主引导程序是无效的或者检测到某个外部输入,则搜寻所述坏 块数据块,并对坏块数据块中的所述备份的主引导程序数据进行有效性检查,如果检查通 过,则加载备份的主引导程序。本步骤中的搜寻所述坏块数据块,为对所述坏块数据块只做一次搜寻,也叫遍历 所述坏块数据块,所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均 做一次且仅做一次访问。步骤S140、在所述主引导程序和所述备份的主引导程序中根据某些特定的组合按 键输入,通过读取相关的升级描述文件及相关的目标文件,实现所述第一引导程序,主引导 程序和备份的主引导程序的更新。步骤S150、当无特定的组合按键输入,所述主引导程序正常加载系统运行。以下将通过一具体的应用实施例对本发明的方法做进一步详细的描述本实施例通过将整个引导程序分成三个部分来保证系统的可用性分别 为NLoad (Nand引导程序)(即第一引导程序),BootLoader (主引导程序),备份的 BootLoader,并且人为的将保存了备份的BootLoader的正常数据块添加到坏块表来隐藏 备份BootLoader,从而保护其不会被破坏。Nand为一种存储器名,例如NAND闪存是一种比硬盘驱动器更好的存储方案。其中,NLoad(Nand引导程序)保存在Nand存储器的第一块,它在整个的产品生 命周期中是基本上不需要更新的,它负责检查BootLoader (主引导程序)的有效性,如果 BootLoader (主引导程序)是有效的,则加载BootLoader (主引导程序)运行;如果BootLoader (主引导程序)是无效的或者检测到某个外部输入(一个固定的 GPIO的低电平输入,如果新升级的BootLoader (主引导程序)因为某种原因不可用,就可以 使用此方法更新BootLoader (主引导程序))则加载备份的BootLoader。BootLoader保存 在Nand存储器的正常块中,备份的BootLoader保存在某些被人为标记为坏块(实际上是 正常块)数据块中,这样可以避免备份BootLoader (备份引导程序)被系统删除本实施例方法的主要步骤为第一步、通过第一引导程序的NLoad检查BootLoader (主引导程序)是否有效,如果BootLoader (主引导程序)是有效的,则加载BootLoader (主引导程序)运行。第二步、如果BootLoader是无效的或者检测到某个外部输入(一个固定的 GPI0(—种通用输入/输出端口 )的低电平输入,如果新升级的BootLoader因为某种原因 不可用,就可以使用此方法更新BootLoader)则遍历坏块表,并对坏块中的数据进行有效 性检查,如果检查通过,则加载备份的BootLoader。第三步、在BootLoader (主引导程序)和备份的BootLoader中根据某些特定的 按键组合,通过读取T卡中的升级描述文件及相关的目标文件,来实现Nand引导程序, BootLoader (主引导程序),备份的BootLoader的更新。其中升级备份的BootLoader后需 要将所使用的数据块标记为坏块,并更新到坏块链表中。第四步、如果无特定按键输入,BootLoader (主引导程序)正常加载系统运行。基于上述本发明的方法,本发明实施例还提供了一种嵌入式设备中引导程序备份 及更新的装置,如图2所示,包括三个用于存储引导程序的存储区,其中,用于存储负责检查主引导程序有效性的 第一引导程序的存储区为第一存储区210,设置在存储引导程序的存储器的第一块;用于存储主引导程序的存储区为主存储区220,用于存储备份的主引导程序的存 储区为备份存储区230,且所述备份存储区人为标记为坏块数据块;第一加载单元240,用于当所述第一引导程序检查所述主引导程序有效时,则加载 所述主引导程序运行;加载备份单元250,用于当所述主引导程序是无效的或者检测到某个外部输入,则 搜寻所述坏块数据块,并对坏块数据块中的备份的主引导程序数据进行有效性检查,如果 检查通过,则加载备份的主引导程序。进一步地,所述的嵌入式设备中引导程序备份及更新的装置,其还包括,特定组合按键更新单元260,用于在所述主引导程序和所述备份的主引导程序中 根据某些特定的组合按键输入,通过读取相关的升级描述文件及相关的目标文件,实现所 述第一引导程序,主引导程序和备份的主引导程序的更新。第二加载单元270,用于当无特定的组合按键输入,所述主引导程序正常加载系统 运行。本发明所提供的嵌入式设备中引导程序备份及更新的方法及装置,由于采用了通 过人为将用于存储备份的主引导程序的备份存储区标记为坏块数据块,可以隐藏备份的主 引导程序,避免备份的主引导程序被系统删除,能有效地保护备份的引导程序不被破坏,并 且引导程序升级方式灵活。应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可 以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保 护范围。
权利要求
一种嵌入式设备中引导程序备份及更新的方法,其特征在于,包括以下步骤A、设置用于存储系统整个引导程序的存储区,并将所述系统整个引导程序分成三个部分,分别为第一引导程序,主引导程序和备份的主引导程序;其中,所述第一引导程序保存在所述存储区的第一块,用于负责检查主引导程序的有效性;所述主引导程序保存在所述存储区的正常块中;所述备份的主引导程序保存在被人为标记为坏块数据块的所述存储区的正常块中,用于隐藏备份的主引导程序;B、所述第一引导程序检查所述主引导程序是否有效,当所述主引导程序是有效的,则加载所述主引导程序运行;否则转入步骤C;C、当所述主引导程序是无效的或者检测到某个外部输入,则搜寻所述坏块数据块,并对坏块数据块中的所述备份的主引导程序数据进行有效性检查,如果检查通过,则加载备份的主引导程序。
2.根据权利要求1所述的嵌入式设备中引导程序备份及更新的方法,其特征在于,其 还包括步骤D、在所述主引导程序和所述备份的主引导程序中根据某些特定的组合按键输入,通过 读取相关的升级描述文件及相关的目标文件,实现所述第一引导程序,主引导程序和备份 的主引导程序的更新。
3.根据权利要求2所述的嵌入式设备中引导程序备份及更新的方法,其特征在于,其 还包括步骤E、当无特定的组合按键输入,所述主引导程序正常加载系统运行。
4.根据权利要求2所述的嵌入式设备中引导程序备份及更新的方法,其特征在于,所 述步骤D还包括步骤D1、升级备份的主引导程序后将所使用的数据块人为标记为坏块,并更新到坏块链表中。
5.根据权利要求1所述的嵌入式设备中引导程序备份及更新的方法,其特征在于,所 述步骤C中的外部输入包括一个固定的端口的低电平输入,用于更新所述主引导程序。
6.一种嵌入式设备中引导程序备份及更新的装置,其特征在于,包括三个用于存储引导程序的存储区,其中,用于存储负责检查主引导程序有效性的第一 引导程序的存储区为第一存储区,设置在存储引导程序的存储器的第一块;用于存储主引导程序的存储区为主存储区,用于存储备份的主引导程序的存储区为备 份存储区,且所述备份存储区人为标记为坏块数据块;第一加载单元,用于当所述第一引导程序检查所述主引导程序有效时,则加载所述主 引导程序运行;加载备份单元,用于当所述主引导程序是无效的或者检测到某个外部输入,则搜寻所 述坏块数据块,并对坏块数据块中的备份的主引导程序数据进行有效性检查,如果检查通 过,则加载备份的主引导程序。
7.根据权利要求6所述的嵌入式设备中引导程序备份及更新的装置,其特征在于,其 还包括,特定组合按键更新单元,用于在所述主引导程序和所述备份的主引导程序中根据某些 特定的组合按键输入,通过读取相关的升级描述文件及相关的目标文件,实现所述第一引 导程序,主引导程序和备份的主引导程序的更新。
8.根据权利要求7所述的嵌入式设备中引导程序备份及更新的装置,其特征在于,其 还包括,第二加载单元,用于当无特定的组合按键输入,所述主引导程序正常加载系统运行。
全文摘要
本发明涉及嵌入式系统领域,公开了一种嵌入式设备中引导程序备份及更新的方法及装置。本发明所提供的嵌入式设备中引导程序备份及更新的方法及装置,其可以有效地保护引导程序,保证系统的稳定性,并通过人为将用于存储备份的主引导程序的备份存储区标记为坏块数据块,可以隐藏备份的主引导程序,避免备份的主引导程序被系统删除,能有效地保护备份的引导程序不被破坏,并且引导程序升级方式灵活。
文档编号G06F11/14GK101923500SQ20101022768
公开日2010年12月22日 申请日期2010年7月14日 优先权日2010年7月14日
发明者罗民 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1