一种Uboot的升级控制系统及方法
【技术领域】
[0001]本发明涉及系统更新领域,特别是涉及一种Uboot的升级控制系统及方法。
【背景技术】
[0002]UBoot的全称为Universal Boot Loader,是目前使用最为广泛的开源引导程序(boot loader),支持大多数的主流32位硬件平台和主流操作系统的引导,它有丰富的指令和外设驱动,可满足绝大多数此类系统的需要。由于UBoot里面包含一些硬件的驱动程序,有时需要对产品的UBoot驱动程序进行升级,或者后期发现UBoot存在BUG,需要进行升级处理,以增强系统的稳定性。但是如果升级失败,将导致整个产品无法启动,产品将无法使用。
[0003]目前比较重要的局端设备,会采用单Flash芯片进行备份,也就是在单Flash中分出一段空间来备份UBoot,但是这样做需要增加Flash容量,也会消耗一定的CPU资源,同时该方案导致系统不够稳定,即如果该Flash损坏,产品将无法启动。因此,实有必要提出一种新的Uboot升级方式,以防止UBoot升级失败,导致产品无法启动。
【发明内容】
[0004]为克服上述现有技术存在的不足,本发明之目的在于提供一种Uboot的升级控制系统及方法,以防止UBoot升级失败,导致产品无法启动的问题出现。
[0005]为达上述及其它目的,本发明提出一种Uboot的升级控制系统,包括:
[0006]主CPU;
[0007]第一存储单元与第二存储单元,通过总线与该主CPU连接,用于存储Uboot和其它相关程序;
[0008]微处理器,与该主CPU连接,并连接该第一存储单元、第二存储单元。
[0009]进一步地,该微处理器向该主CPU提供复位信号,该主CPU向该微处理器发送指示信号,该微处理器根据该主CPU的指示信号进行逻辑判断及处理,选择该第一存储单元或该第二存储单元。
[0010]进一步地,该主CPU和该微处理器之间通过两个GP1接口相连接。
[0011 ] 进一步地,该第一存储单元、第二存储单元与该主CPU通过SPI总线连接。
[0012]进一步地,该微处理器通过控制第一片选信号、第二片选信号选择该第一存储单元或第二存储单元。
[0013]进一步地,该第一存储单元与该第二存储单元为Flash。
[0014]为达到上述目的,本发明还提供一种Uboot的升级控制方法,包括如下步骤:
[0015]步骤一,于Uboot正常启动后,当主CPU检测到Uboot升级命令时,主CPU升级第一存储单元中的Uboot程序并重启系统,主CPU从第一存储单元中启动;
[0016]步骤二,微处理器是否在预设时间内接收到该主CPU的指示信号;
[0017]步骤三,若在预设时间内,该微处理器未收到主CPU的指示信号,则该微处理器发送复位信号至该主CPU,使其重启,同时,该微处理器发送第二片选信号,使该主CPU从第二存储单元中启动,。
[0018]步骤四,于UBoot启动完成后,该主CPU发送指示信号给该微处理器。
[0019]进一步地,还步骤四后还包括如下步骤:
[0020]该主CPU重新检查是否需要升级Uboot;
[0021 ] 若需要升级Uboot,则该主CPU重新升级第一存储单元中的Uboot程序。
[0022]进一步地,于步骤一之前,还包括如下步骤:
[0023]系统于启动时,由该微处理器发送第一片选信号与复位信号,以使该主CPU从第一存储单元中启动;
[0024]当Uboot启动完成后,该主CPU发送指示信号至微处理器。
[0025]进一步地,于步骤三中中,若在预设时间内,该微处理器接收到该主CPU的指示信号,则不进行其它动作。
[0026]与现有技术相比,本发明一种Uboot的升级控制系统及方法通过利用第二存储单元备份Uboot及其相关程序,并于升级失败时,通过微处理器来控制主CPU从第二存储单元中启动,保证了产品的正常启动,避免了因UBoot升级失败而导致产品无法启动的问题。
【附图说明】
[0027]图1为本发明一种Uboot的升级控制系统的系统架构图;
[0028]图2为本发明一种Uboot的升级控制系统之较佳实施例的硬件结构示意图;
[0029]图3为本发明之Uboot的升级控制系统较佳实施例的工作流程示意图;
[0030]图4为本发明一种Uboot的升级控制方法的步骤流程图。
【具体实施方式】
[0031]以下通过特定的具体实例并结合【附图说明】本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
[0032]图1为本发明一种Uboot的升级控制系统的系统架构图。如图1所不,本发明一种Uboot的升级控制系统,包括:主CPUlOl、第一存储单元102、第二存储单元103以及微处理器104。
[0033]其中,主CPUlOl为产品的的主处理器;第一存储单元102与第二存储单元103与主CPUlOl通过SPI(Serial Peripheral Interface,串行外设接口)总线连接,用于存储UBoot和其它相关程序,第二存储单元103主要用于备份,在本发明较佳实施例中,第一存储单元102与第二存储单元103为FlashA与FlashB,两块Flash在出厂的时候,烧录的文件是一样的,其中Flash B主要是用于备份;微处理器104与主CPUlOl连接,并通过第一片选信号CSO连接第一存储单元102,第二片选信号CSl连接第二存储单元103,微处理器104用于根据主CPUlOl的指示信号进行逻辑判断及处理,具体地说,由主CPUlOl向微处理器104提供指示信号,微处理器104向主CPU提供复位信号,同时,第一片选信号CSO与第二片选信号CSl由微处理器104控制。
[0034]图2为本发明一种Uboot的升级控制系统之较佳实施例的硬件结构示意图。在本发明较佳实施例中,主CPUlOl为产品的主处理器,第一存储单元102与第二存储单元102为FlashA与FlashB,Flash A与Flash B主要是存储UBoot和其它相关程序,两块Flash在出厂的时候,烧录的文件是一样的,其中FlashB主要是用于备份的;微处理器104为MCS51单片机,其主要功能为提供逻辑判断和处理,主CPU与两个Flash之间是通过SPI总线连接,该总线包括MIS0、M0S1、SC