监控CPU的启动过程的方法及系统、CPLD与流程

文档序号:15019862发布日期:2018-07-25 00:27阅读:396来源:国知局
本发明涉及计算机
技术领域
,特别涉及监控CPU的启动过程的方法及系统、CPLD。
背景技术
:在硬件调试过程中,需要监控CPU的启动过程。现有技术中,一般是调试人员通过示波器和万用表等设备来监控CPU的启动过程。通过上述描述可见,现有技术的监控方案比较不方便。技术实现要素:本发明实施例提供了监控CPU的启动过程的方法及系统、CPLD,能够更加方便地监控CPU的启动过程。第一方面,本发明实施例提供了一种监控CPU的启动过程的方法,应用于CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件),包括:当CPU开始启动过程时,执行:S1:判断CPU上电及复位的过程是否异常,如果是,则输出CPU上电及复位的过程发生异常的信息,否则,执行S2;S2:判断CPU读取RCW(ResetConfigurationWord,复位配置)的过程是否异常,如果是,则输出CPU读取RCW的过程发生异常的信息,否则,执行S3;S3:判断CPU读取BootFlash(启动闪存)以及控制串口的过程是否异常,如果是,则输出CPU读取BootFlash以及控制串口的过程发生异常的信息。进一步地,所述S1,包括:A1:获取CPU的核电的核电信息,根据所述核电信息,判断所述CPU的核电是否异常,如果是,输出核电异常的信息,否则,执行A2;A2:获取CPU的复位信号,根据所述复位信号,判断所述CPU的复位是否异常,如果是,输出复位异常的信息,否则,执行A3;A3:检测CPU的工作电流,判断所述工作电流是否异常,如果是,则输出工作电流异常的信息,否则,执行S2。进一步地,所述S2,包括:B1:判断CPU读取的RCW的SRC是否正确,如果是,则执行B2,否则,输出RCW的SRC错误的信息;B2:判断CPU读取的所述RCW的格式是否正确,如果是,则执行S3,否则,输出RCW的格式错误的信息。进一步地,所述S3,包括:C1:判断CPU读取BootFlash是否成功,如果是,则执行C2,否则,输出读取BootFlash失败的信息;C2:判断串口工作是否正常,如果否,则输出串口工作不正常的信息。第二方面,本发明实施例提供了一种CPLD,包括:第一监控单元、第二监控单元和第三监控单元;所述第一监控单元,用于当CPU开始启动过程时,执行:判断CPU上电及复位的过程是否异常,如果是,则输出CPU上电及复位的过程发生异常的信息,否则,触发所述第二监控单元;所述第二监控单元,用于判断CPU读取RCW的过程是否异常,如果是,则输出CPU读取RCW的过程发生异常的信息,否则,触发所述第三监控单元;所述第三监控单元,用于判断CPU读取BootFlash以及控制串口的过程是否异常,如果是,则输出CPU读取BootFlash以及控制串口的过程发生异常的信息。进一步地,所述第一监控单元,用于执行:A1:获取CPU的核电的核电信息,根据所述核电信息,判断所述CPU的核电是否异常,如果是,输出核电异常的信息,否则,执行A2;A2:获取CPU的复位信号,根据所述复位信号,判断所述CPU的复位是否异常,如果是,输出复位异常的信息,否则,执行A3;A3:检测CPU的工作电流,判断所述工作电流是否异常,如果是,则输出工作电流异常的信息,否则,触发所述第二监控单元。进一步地,所述第二监控单元,用于执行:B1:判断CPU读取的RCW的SRC(source)是否正确,如果是,则执行B2,否则,输出RCW的SRC错误的信息;B2:判断CPU读取的所述RCW的格式是否正确,如果是,则触发所述第三监控单元,否则,输出RCW的格式错误的信息。进一步地,所述第三监控单元,用于执行:C1:判断CPU读取BootFlash是否成功,如果是,则执行C2,否则,输出读取BootFlash失败的信息;C2:判断串口工作是否正常,如果否,则输出串口工作不正常的信息。第三方面,本发明实施例提供了一种监控CPU的启动过程的系统,包括:第二方面中任一所述的CPLD和显示模块;所述CPLD与所述显示模块相连;所述CPLD包括:第一监控单元、第二监控单元和第三监控单元;所述显示模块,用于接收所述第一监控单元输出的CPU上电及复位的过程发生异常的信息,并显示;接收所述第二监控单元输出的CPU读取RCW的过程发生异常的信息,并显示;接收所述第三监控单元输出的CPU读取BootFlash以及控制串口的过程发生异常的信息,并显示。进一步地,所述显示模块包括:数码管、显示屏。在本发明实施例中,将CPU的启动过程分为:CPU上电及复位的过程、CPU读取RCW的过程和CPU读取BootFlash以及控制串口的过程,通过CPLD自动对这三个过程进行监控,无需人工监控,能够更加方便地监控CPU的启动过程。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例提供的一种监控CPU的启动过程的方法的流程图;图2是本发明一实施例提供的另一种监控CPU的启动过程的方法的流程图;图3是本发明一实施例提供的一种CPLD的示意图;图4是本发明一实施例提供的一种监控CPU的启动过程的系统的示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供了一种监控CPU的启动过程的方法,应用于CPLD,该方法可以包括以下步骤:当CPU开始启动过程时,执行:步骤101:判断CPU上电及复位的过程是否异常,如果是,则执行步骤102,否则,执行步骤103;步骤102:输出CPU上电及复位的过程发生异常的信息;步骤103:判断CPU读取RCW的过程是否异常,如果是,则执行步骤104,否则,执行步骤105;步骤104:输出CPU读取RCW的过程发生异常的信息;步骤105:判断CPU读取BootFlash以及控制串口的过程是否异常,如果是,则执行步骤106;步骤106:输出CPU读取BootFlash以及控制串口的过程发生异常的信息。在本发明实施例中,将CPU的启动过程分为:CPU上电及复位的过程、CPU读取RCW的过程和CPU读取BootFlash以及控制串口的过程,通过CPLD自动对这三个过程进行监控,无需人工监控,能够更加方便地监控CPU的启动过程。在本发明实施例中,该CPLD可以是与被监控的CPU相连的CPLD。在本发明一实施例中,所述判断CPU上电及复位的过程是否异常,如果是,则执行步骤102:输出CPU上电及复位的过程发生异常的信息,否则,执行步骤103,包括:A1:获取CPU的核电的核电信息,根据所述核电信息,判断所述CPU的核电是否异常,如果是,输出核电异常的信息,否则,执行A2;A2:获取CPU的复位信号,根据所述复位信号,判断所述CPU的复位是否异常,如果是,输出复位异常的信息,否则,执行A3;A3:检测CPU的工作电流,判断所述工作电流是否异常,如果是,则输出工作电流异常的信息,否则,执行步骤103。在本发明实施例中,CPU的核电包括CPU的逻辑电信号、CPU的I/O点信号等。CPU的复位信号可以是CPU输出的复位是否成功的信号。在判断工作电流是否异常时,具体地,判断工作电流是否在预设的电流范围内,如果是,则工作电流正常,否则,工作电流异常。这里的电流范围根据需要监控的CPU进行设置。在本发明一实施例中,所述判断CPU读取RCW的过程是否异常,如果是,则执行步骤104:输出CPU读取RCW的过程发生异常的信息,否则,执行步骤105;包括:B1:判断CPU读取的RCW的SRC是否正确,如果是,则执行B2,否则,输出RCW的SRC错误的信息;B2:判断CPU读取的所述RCW的格式是否正确,如果是,则执行步骤105,否则,输出RCW的格式错误的信息。读取RCW为CPU硬件复位后的第一个过程,该RCW主要用于设置平台时钟,DDR时钟,高速外设模式,IRQ等关键参数。CPU检测到硬件复位信号后,初始化内部关键逻辑和时钟PLL后开始检测从何种介质读取RCW,PowerPC系列CPU支持从EEPROM、NorFlash、SDCard中读取RCW。在RCW没有异常后,按照RCW的文件内容设置CPU。在本发明实施例中,在判断CPU读取的RCW的SRC是否正确时,可以通过获取CPU输出的SRC是否正确的信号来确定。在判断CPU读取的所述RCW的格式是否正确时,可以通过获取CPU输出的RCW的格式是否正确的信号来确定。在本发明一实施例中,所述判断CPU读取BootFlash以及控制串口的过程是否异常,如果是,则执行步骤106:输出CPU读取BootFlash以及控制串口的过程发生异常的信息,包括:C1:判断CPU读取BootFlash是否成功,如果是,则执行C2,否则,输出读取BootFlash失败的信息;C2:判断串口工作是否正常,如果否,则输出串口工作不正常的信息。根据RCW配置CPU后,CPU从BootFlash中读取应用程序,执行程序初始化串口,串口正常情况下会有输出内容。在本发明实施例中,在判断CPU读取BootFlash是否成功时,可以通过以下过程实现:判断CPU读取BootFlash中的内容是否是全0或全1,如果是,则确定CPU读取BootFlash没有成功,如果不是,则确定CPU读取BootFlash成功。在本发明实施例中,在判断串口工作是否正常时,可以通过以下过程实现:判断串口输出的内容是否是全0或全1,如果是,则确定串口工作不正常,否则,确定串口工作正常。在本发明一实施例中,可以通过以下方式判断CPU上电及复位的过程是否异常:CPU上电及复位时,ASLEEP信号为高电平,上电及复位成功后ASLEEP信号为低电平。测量ASLEEP信号的变化是否是由高电平到低电平,如果是,确定CPU上电及复位的过程没有异常,否则,确定CPU上电及复位的过程存在异常。具体地,这里的CPU可以是T4240。在本发明一实施例中,可以通过以下方式来判断CPU读取的RCW的SRC是否正确:可以通过cfg_rcw_src[0:8]来实现。具体地,检测CPU的引脚的电平,根据CPU的引脚的电平确定RCW的实际的SRC,判断实际的SRC与设计的SRC是否相同,如果是,则确定CPU读取的RCW的SRC正确,否则,确定CPU读取的RCW的SRC不正确。在本发明一实施例中,可以通过检测DCFG_CCSR_RSTRQPBLSR来确定RCW的error码是否正确。在本发明一实施例中,可以通过检测UARTn_SOUT来确定串口是否正常,引脚上有信号输出,则串口正常,否则,串口不正常。这里的串口可以是uart串口。如图2所示,本发明实施例提供了一种监控CPU的启动过程的方法,当CPU开始启动过程时,执行以下步骤:步骤201:获取CPU的核电的核电信息,根据核电信息,判断CPU的核电是否异常,如果是,执行步骤202,否则,执行步骤203。步骤202:输出核电异常的信息。步骤203:获取CPU的复位信号,根据复位信号,判断CPU的复位是否异常,如果是,执行步骤204,否则,执行步骤205。具体地,复位信号可以由CPU的引脚输出,通过复位信号可以判断出CPU是否复位成功。步骤204:输出复位异常的信息。步骤205:检测CPU的工作电流,判断工作电流是否异常,如果是,执行步骤206,否则,执行步骤207。步骤206:输出工作电流异常的信息。步骤207:判断CPU读取的RCW的SRC是否正确,如果是,则执行步骤208,否则,执行步骤209。步骤208:判断CPU读取的RCW的格式是否正确,如果是,则执行步骤210,否则,执行步骤211。步骤209:输出RCW的SRC错误的信息。步骤210:判断CPU读取BootFlash是否成功,如果是,则执行步骤212,否则,执行步骤213。步骤211:输出RCW的格式错误的信息。步骤212:判断串口工作是否正常,如果是,执行步骤214,否则,执行步骤215。步骤213:输出读取BootFlash失败的信息。步骤214:输出CPU启动过程正常的信息。步骤215:输出串口工作不正常的信息。在本发明实施例中,当CPU启动过程发生异常时,能够输出相应的异常信息,这些异常信息可以帮助调试人员快速定位硬件故障,提高产品的可维护性和稳定性。如图3所示,本发明实施例提供了一种CPLD,包括:第一监控单元301、第二监控单元302和第三监控单元303;所述第一监控单元301,用于当CPU开始启动过程时,执行:判断CPU上电及复位的过程是否异常,如果是,则输出CPU上电及复位的过程发生异常的信息,否则,触发所述第二监控单元302;所述第二监控单元302,用于判断CPU读取RCW的过程是否异常,如果是,则输出CPU读取RCW的过程发生异常的信息,否则,触发所述第三监控单元303;所述第三监控单元303,用于判断CPU读取BootFlash以及控制串口的过程是否异常,如果是,则输出CPU读取BootFlash以及控制串口的过程发生异常的信息。在本发明一实施例中,所述第一监控单元,用于执行:A1:获取CPU的核电的核电信息,根据所述核电信息,判断所述CPU的核电是否异常,如果是,输出核电异常的信息,否则,执行A2;A2:获取CPU的复位信号,根据所述复位信号,判断所述CPU的复位是否异常,如果是,输出复位异常的信息,否则,执行A3;A3:检测CPU的工作电流,判断所述工作电流是否异常,如果是,则输出工作电流异常的信息,否则,触发所述第二监控单元。在本发明一实施例中,所述第二监控单元,用于执行:B1:判断CPU读取的RCW的SRC是否正确,如果是,则执行B2,否则,输出RCW的SRC错误的信息;B2:判断CPU读取的所述RCW的格式是否正确,如果是,则触发所述第三监控单元,否则,输出RCW的格式错误的信息。在本发明一实施例中,所述第三监控单元,用于执行:C1:判断CPU读取BootFlash是否成功,如果是,则执行C2,否则,输出读取BootFlash失败的信息;C2:判断串口工作是否正常,如果否,则输出串口工作不正常的信息。如图4所示,本发明实施例提供了一种监控CPU的启动过程的系统,包括:本发明实施例中任一所述的CPLD401和显示模块402;所述CPLD401与所述显示模块402相连;所述CPLD401包括:第一监控单元4011、第二监控单元4012和第三监控单元4013;所述显示模块402,用于接收所述第一监控单元4011输出的CPU上电及复位的过程发生异常的信息,并显示;接收所述第二监控单元4012输出的CPU读取RCW的过程发生异常的信息,并显示;接收所述第三监控单元4013输出的CPU读取BootFlash以及控制串口的过程发生异常的信息,并显示。在本发明一实施例中,所述显示模块包括:数码管、显示屏。这里的数码管可以通过LED实现。在本发明一实施例中,该显示模块还可以用于当判断出CPU上电及复位的过程没有发生异常时,显示CPU上电及复位的过程没有发生异常的信息。在本发明一实施例中,该显示模块还可以用于当判断出CPU读取RCW的过程没有发生异常时,显示CPU读取RCW的过程没有发生异常的信息。在本发明一实施例中,该显示模块还可以用于当判断出CPU读取BootFlash以及控制串口的过程没有发生异常时,显示CPU读取BootFlash以及控制串口的过程没有发生异常的信息。在本发明实施例中,显示模块需要显示的信息可以通过代码的形式来显示。具体地,可以对CPU启动过程中的各个异常设置对应的代码,还可以为正常的过程设置对应的代码。如表1所示。表1代码说明10CPU核电正常和复位正常11核电异常12复位异常13工作电流异常20CPU读取RCW成功并配置成功21RCW的SRC错误22RCW的格式错误30CPU正常,并能读取BootFlash31CPU正常,读取BootFlash失败32CPU正常,串口工作不正常在本发明一实施例中,该显示模块用于:当第一监控单元判断出CPU的核电发生异常时,显示核电异常的信息(可以显示代码11);当第一监控单元判断出CPU的复位发生异常时,显示复位异常的信息(可以显示代码12);当第一监控单元判断出工作电流发生异常时,显示工作电流异常的信息(可以显示代码13),当第一监控单元判断出工作电流没有发生异常时,显示CPU核电正常和复位正常的信息(可以显示代码10)。在本发明一实施例中,该显示模块用于:当第二监控单元判断出CPU读取的RCW的SRC不正确时,显示RCW的SRC错误的信息(可以显示代码21);当第二监控单元判断出CPU读取的RCW的格式不正确时,显示RCW的格式错误的信息(可以显示代码22);当第二监控单元判断出CPU读取的RCW的格式正确时,显示CPU读取RCW成功并配置成功(可以显示代码20)。在本发明一实施例中,该显示模块用于:当第三监控单元判断出CPU读取BootFlash不成功时,显示读取BootFlash失败的信息(可以显示代码31);当第三监控单元判断出串口工作不正常时,显示串口工作不正常的信息(可以显示代码32);当第三监控单元判断出串口工作正常时,显示CPU正常并能读取BootFlash的信息(可以显示代码30)。另外,还可以通过第三监控单元判断CPU是否执行BootFlash程序成功,如果否,则输出执行BootFlash程序不成功的信息。本发明各个实施例至少具有如下有益效果:1、在本发明实施例中,将CPU的启动过程分为:CPU上电及复位的过程、CPU读取RCW的过程和CPU读取BootFlash以及控制串口的过程,通过CPLD自动对这三个过程进行监控,无需人工监控,能够更加方便地监控CPU的启动过程。2、在本发明实施例中,当CPU启动过程发生异常时,能够输出相应的异常信息,这些异常信息可以帮助调试人员快速定位硬件故障,提高产品的可维护性和稳定性。需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1