一种Uboot的升级控制系统及方法_2

文档序号:9910783阅读:来源:国知局
LK和片选CS信号,但该总线的片选信号CS由单片机控制。
[0035]主CPU和单片机之间通过两个GP1接口(General Purpose Input Output,通用输入/输出)相连接,分别在需要的时候,主CP响单片机提供指示信号、单片机向主CPU提供复位信号。
[0036]图3为本发明之Uboot的升级控制系统较佳实施例的工作流程示意图。首先在启动的时候,MCS51单片机发送CSO片选信号和复位信号,其中片选信号CSO是为了使主CPU选中Flash A,复位信号是为了使主CPU重新启动。主CPU就从Flash A中启动,在UBoot启动完成后,主CPU发送指示信号给单片机,表明UBoot已经正常启动,单片机则不再做其它动作。
[0037]当主CPU检测到UBoot升级命令,则主CPU升级Flash A中的UBoot程序并重启系统,主CPU从Flash A中启动。若启动成功,主CPU则发送指示信号给MCS单片机,但如果经过一段时间(如10秒),单片机没有收到指示信号,则说明主CPU没有正常启动,随后单片机发送复位信号给主CPU,使其重启,同时单片机发送片选信号CSl,主CPU从Flash B中启动,UBoot启动完成后,发送指示信号给MCS51单片机,然后主CPU重新检查是否需要升级UBoot,如果需要,重新升级Flash A中的UBoot程序。
[0038]通过以上的操作,就可以防止UBoot升级失败,导致产品无法启动。
[0039]图4为本发明一种Uboot的升级控制方法的步骤流程图。如图4所示,本发明一种Uboot的升级控制方法,包括如下步骤:
[0040]步骤401,在Uboot正常启动完成后,当主CPU检测到Uboot升级命令时,则主CPU升级第一存储单元中的Uboot程序并重启系统,主CPU从第一存储单元中启动。
[0041]步骤402,若启动成功,则主CPU发送指示信号至微处理器。
[0042]步骤403,若预定时间(例如10S)内,微处理器未收到主CPU的指示信号,则说明主CPU没有正常启动,则微处理器发送复位信号至主CPU,使其重启,同时,微处理器发送第二片选信号CSl,使主CPU从第二存储单元中启动。
[0043]步骤404,UBoot启动完成后,主CPU发送指示信号给微处理器,并重新检查是否需要升级Uboot。
[0044]步骤405,若需要升级Uboot,则主CPU重新升级第一存储单元中的Uboot程序。
[0045]较佳的,在步骤401之前,还包括如下步骤:
[0046]系统于启动时,由微处理器发送第一片选信号与复位信号,发送第一片选信号CSO以使主CPU选中第一存储单元,复位信号则为了使主CPU重新启动,主CPU从第一存储单元中启动;
[0047]当Uboot启动完成后,主CPU发送指示信号至微处理器,表示Uboot已经正常启动,微处理器则不再做其它动作。
[0048]综上所述,本发明一种Uboot的升级控制系统及方法通过利用第二存储单元备份Uboot及其相关程序,并于升级失败时,通过微处理器来控制主CPU从第二存储单元中启动,保证了产品的正常启动,避免了因UBoot升级失败而导致产品无法启动的问题。
[0049]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
【主权项】
1.一种Uboot的升级控制系统,包括: 主 CRJ; 第一存储单元与第二存储单元,通过总线与该主CPU连接,用于存储Uboot和其它相关程序; 微处理器,与该主CPU连接,并分别连接该第一存储单元、第二存储单元。2.如权利要求1所述的一种Uboot的升级控制系统,其特征在于:该微处理器向该主CPU提供复位信号,该主CPU向该微处理器发送指示信号,该微处理器根据该主CPU的指示信号进行逻辑判断及处理,选择该第一存储单元或该第二存储单元。3.如权利要求2所述的一种Uboot的升级控制系统,其特征在于:该主CPU和该微处理器之间通过两个GP1接口相连接。4.如权利要求1所述的一种Uboot的升级控制系统,其特征在于:该第一存储单元、第二存储单元与该主CPU通过SPI总线连接。5.如权利要求2所述的一种Uboot的升级控制系统,其特征在于:该微处理器通过控制第一片选信号、第二片选信号选择该第一存储单元或第二存储单元。6.如权利要求5所述的一种Uboot的升级控制系统,其特征在于:该第一存储单元与该第二存储单元为Flash。7.—种Uboot的升级控制方法,包括如下步骤: 步骤一,于Uboot正常启动后,当主CPU检测到Uboot升级命令时,主CPU升级第一存储单兀中的Uboot程序并重启系统,王CPU从弟一存储单兀中启动; 步骤二,微处理器是否在预设时间内接收到该主CRJ的指示信号; 步骤三,若在预设时间内,该微处理器未收到主CPU的指示信号,则该微处理器发送复位信号至该主CPU,使其重启,同时,该微处理器发送第二片选信号,使该主CPU从第二存储单元中启动。 步骤四,于UBoot启动完成后,该主CRJ发送指示信号给该微处理器。8.如权利要求7所述的一种Uboot的升级控制方法,其特征在于,还步骤四后还包括如下步骤: 该主CPU重新检查是否需要升级Uboot ; 若需要升级Uboot,则该主CPU重新升级第一存储单元中的Uboot程序。9.如权利要求8所述的一种Uboot的升级控制方法,其特征在于,于步骤一之前,还包括如下步骤: 系统于启动时,由该微处理器发送第一片选信号与复位信号,以使该主CPU从第一存储单元中启动; 当Uboot启动完成后,该主CRJ发送指示信号至微处理器。10.如权利要求7所述的一种Uboot的升级控制方法,其特征在于:于步骤三中,若在预设时间内,该微处理器接收到该主(PU的指示信号,则不进行其它动作。
【专利摘要】本发明公开了一种Uboot的升级控制系统及方法,该系统包括:主CPU;第一存储单元与第二存储单元,通过总线与该主CPU连接,用于存储Uboot和其它相关程序;微处理器,与该主CPU连接,并连接该第一存储单元、第二存储单元,本发明实现了一种新的Uboot升级方式,可防止因UBoot升级失败,导致产品无法启动的问题出现。
【IPC分类】G06F9/445
【公开号】CN105677416
【申请号】CN201610008115
【发明人】张艺阳, 裴志刚
【申请人】上海斐讯数据通信技术有限公司
【公开日】2016年6月15日
【申请日】2016年1月7日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1