用于确定上电复位的方法和装置制造方法

文档序号:6490542阅读:164来源:国知局
用于确定上电复位的方法和装置制造方法
【专利摘要】本发明实施例提供了一种用于确定上电复位的方法和装置。所述方法应用于一具有内存的电子设备,该内存包括校验区域,该校验区域用于存放在非上电复位中不丢失的校验基准和校验变量。所述方法包括:当所述电子设备中发生复位时,读取所述校验区域中的校验变量和校验基准,对所述校验变量执行校验计算,而得到计算结果;比较所述计算结果和所述校验基准,根据所述计算结果来确定所述电子设备的复位类型是否是上电复位;以及当确定是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。所述用于确定上电复位的方法和装置能够在不增加其它硬件器件的基础上进行简单、有效、可靠的上电复位类型判断。
【专利说明】用于确定上电复位的方法和装置
【技术领域】
[0001]本发明实施例涉及电子技术的领域,并且更具体地,涉及一种用于确定电子设备的上电复位类型的方法和装置。
【背景技术】
[0002]随着电子技术的发展,采用各种不同的电子设备来实现各种不同的功能,所述电子设备例如为微控制单元(Micro Control Unit)、数字信号处理器(Digital SignalProcessing)、中央处理单元(Central Processing Unit)等电子模块。在所述电子设备的使用过程中,需要进行各种类型的复位,诸如上电复位、硬件复位、软件复位、狗复位等。针对各种不同的复位类型,需要进行不同的配置,因此要求在电子设备复位时能够确定出相应的复位类型。
[0003]对于所述复位类型中的上电复位的确定,目前主要有以下两种方式:一是利用复位寄存器来确定上电复位和非上电复位;另一种是借助可编程逻辑器件确定上电复位和非上电复位。
[0004]在利用复位寄存器来确定电子设备的上电复位和非上电复位的情况中,只能利用复位寄存器确定是否是软件复位。在确定复位类型不是软件复位时,复位寄存器不能确定是硬件复位还是上电复位,导致无法区分开硬件复位和上电复位
[0005]借助可编程逻辑器件确定上电复位和非上电复位的过程如下,使能可编程逻辑器件的寄存器上电复位可预置功能,从而在上电复位以后,对应寄存器的复位值被预置为A ;对可编程逻辑器件进行编程,将寄存器的复位值设置为不同于A的B,系统启动以后,读取对应寄存器的值,如果为A,则判断为上电复位,否则判断为带电复位。在利用可编程逻辑器件确定上电复位和非上电复位的情况中,可编程逻辑器件的体积较大,对于一些小型器件,增加一个庞大的可编程逻辑器件是不可接受的,且该方案依赖于上电后的可编程逻辑器件的预置功能。
[0006]鉴于此,本发明期望在不借助其它器件的条件下来简单且可靠地确定是否是上电复位。

【发明内容】

[0007]本发明实施例提供一种用于确定电子设备的上电复位类型的方法和装置,其能够在不增加其它硬件器件的基础上进行简单、有效、可靠的上电复位类型判断。
[0008]第一方面,提供了一种确定复位类型的方法,其特征在于,该方法应用于一具有内存的电子设备,该内存包括校验区域,该校验区域用于存放在非上电复位中不丢失的校验基准和校验变量,所述校验基准是通过对所述校验变量执行校验计算而获得的,所述方法包括:当所述电子设备中发生复位时,读取所述校验区域中的校验变量和校验基准,对所述校验变量执行所述校验计算,而得到计算结果;比较所述计算结果和所述校验基准,当所述计算结果等于所述校验基准时,确定所述电子设备的复位类型是上电复位,当所述计算结果不等于所述校验基准时,确定所述电子设备的复位类型是非上电复位;以及当确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。
[0009]结合第一方面,在第一方面的一种实现方式中,所述对所述校验变量执行所述校验计算包括:对所述校验变量中的各个校验变量执行异或减一的计算。
[0010]结合第一方面及其上述实现方式,在第一方面的另一实现方式中,通过增加所述校验变量的数目来提高复位类型的确定准确度。
[0011]结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述电子设备还包括复位寄存器,所述方法还包括:当所述电子设备中发生复位时,利用所述复位寄存器来确定电子设备的复位类型是否是软件复位;在确定所述复位类型不是软件复位的情况下,执行所述读取、校验计算和确定操作以确定所述复位类型是上电复位还是非上电复位。
[0012]结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述电子设备还包括心跳寄存器,当确定所述复位类型是非上电复位时,所述方法还包括:利用所述心跳寄存器来确定所述电子设备的复位类型是上电复位还是非上电复位。
[0013]结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述内存是电子设备中的内存或与所述电子设备连接的内存。
[0014]第二方面,提供了一种电子设备,其特征在于,包括:内存,包括校验区域,该校验区域用于存放在非上电复位中不丢失的校验基准和校验变量,所述校验基准是通过对所述校验变量执行校验计算而获得的;复位类型确定模块。该复位类型确定模块包括:计算单元,用于在所述电子设备中发生复位时,读取所述校验区域中的所述校验变量和校验基准,对所述校验变量的数据值执行所述校验计算,而得到计算结果;第一确定单元,用于比较所述计算结果和所述校验基准,在所述计算结果等于所述校验基准时、确定所述电子设备的复位类型是上电复位,在所述计算结果不等于所述校验基准时、确定所述电子设备的复位类型是非上电复位;赋值单元,用于在确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。
[0015]结合第二方面,在第二方面的一种实现方式中,所述计算单元可通过对所述校验变量中的各个校验变量执行异或减一的计算来执行所述校验计算。
[0016]结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述计算单元可通过增加所述校验变量的数目来提高复位类型的确定准确度。
[0017]结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述电子设备还可以包括复位寄存器,所述复位类型确定模块还可包括:第二确定单元,用于利用所述复位寄存器来确定电子设备的复位类型是否是软件复位;其中,在第二确定单元确定所述复位类型不是软件复位的情况下,所述计算单元和所述第一确定单元进行操作以确定所述电子设备的复位类型是上电复位还是非上电复位。
[0018]结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述电子设备还可包括心跳寄存器,所述复位类型确定模块还可包括:第三确定单元,用于当第一确定单元确定所述复位类型是非上电复位时,利用所述心跳寄存器来确定所述电子设备的复位类型是上电复位还是非上电复位。
[0019]结合第二方面及其上述实现方式,在第二方面的另一实现方式中,所述内存是位于电子设备中的内存或与所述电子设备连接的内存。
[0020]本发明实施例可以利用从内存中选择的特定数目字节作为校验区域来进行上电复位的确定,从而在不增加其它硬件器件的基础上进行简单、有效、可靠的上电复位类型判断。
【专利附图】

【附图说明】
[0021]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是根据本发明实施例的校验区域的示意性图示;
[0023]图2是示出了根据本发明实施例的用于确定上电复位的方法的流程图;
[0024]图3示意性示出了用于实现根据本发明实施例的用于确定上电复位的方法的程序;
[0025]图4是示出了根据本发明另一实施例的用于确定上电复位的方法的流程图;
[0026]图5是示出了根据本发明实施例的用于确定上电复位的装置的框图。
【具体实施方式】
[0027]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028]下面简要说明本发明实施例的原理。电子设备的内存中的值在诸如硬件复位、软件复位之类的非上电复位中会保存,但是如果电子设备掉电,则该内存中的值会丢失。在电子设备重新上电之后,如果没有对所述内存主动进行赋值,则所述内存中的值是乱码。基于此,从电子设备的内存在选择特定区域来存放校验变量和根据该校验变量获得的校验基准;在电子设备的使用过程发生复位时,如果对校验变量执行校验计算所获得的校验结果与所述校验基准不相等,则说明校验区域中的值由于掉电而成为乱码,所述复位的类型是上电复位;如果所述校验结果与所述校验基准相等,则校验区域中的值不是乱码,所述电子设备中的复位的类型是非上电复位(即带电复位)。
[0029]根据本发明实施例的用于确定上电复位的方法适用于具有内存的任何电子设备,该电子设备例如可以是微控制单元、数字信号处理器、中央处理单元、现场可编程门阵列电路等,只要其具有内存即可。
[0030]所述内存包括校验区域,该校验区域用于存放在非上电复位中不丢失的校验基准和校验变量,所述校验基准是通过对所述校验变量执行校验计算而获得的。要注意,所述内存可以是电子设备中的内存,也可以是与所述电子设备连接的内存,其例如为随机存取存储器(RAM, Random Access Memory)内存。
[0031 ] 作为示例,例如在电子设备的内存中选择从内存的基地址(即,第O字节的地址)开始的128字节作为所述校验区域。此外,所述内存的开始地址不限于基地址,其可以根据实践需要来灵活地设置,其例如还可以是所述内存的第100字节的地址;所述特定数目的字节也并不限于128个字节,其例如还可以是32个字节、64个字节等,在实践中可以根据上电复位的确定准确度要求来适当地设置校验区域的字节数。通常,该字节数越大,则上电复位的确定准确度越高。
[0032]所述校验区域用于存放在非上电复位中不丢失的校验基准和校验变量。图1是根据本发明实施例的校验区域的示意性图示。在图1中,所述校验基准CR占用校验区域的前
两个字节,所述校验变量data l、data 2、......data 63占用校验区域的剩余字节,每个校
验变量占用两个字节。要注意,所述用于存放校验基准CR的字节数还可以是一个字节或四个字节,其并不限于两个。
[0033]如果电子设备掉电,则上电之后该校验区域中各个字节的值是乱码。
[0034]在电子设备正常运行之后的状态中,可以使用校验和的方式对该校验区域进行存取。所述校验基准例如可以通过所述校验变量异或减一的方式来获得。即,
[0035]CR= data! Θ daia2 ?......Θ daia63 — I公式(I)
[0036]其中?表示异或运算。此外,可以采取其它的方式获得所述校验基准,例如采取循环冗余码(CRC,Cyclic Redundancy Code)校验等方式。在实践中,可以采用已经存在的或将来出现的各种方式来从所述校验变量获得所述校验基准,具体的方式不构成对本发明的限制。
[0037]图2是示出了根据本发明实施例的用于确定上电复位的方法200的流程图。所述方法200包括:当所述电子设备中发生复位时,读取所述校验区域中的校验变量和校验基准,对所述校验变量执行所述校验计算,而得到计算结果(210);比较所述计算结果和所述校验基准,当所述计算结果等于所述校验基准时,确定所述电子设备的复位类型是上电复位,当所述计算结果不等于所述校验基准时,确定所述电子设备的复位类型是非上电复位(220);以及当确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定(230)。
[0038]在210中,当所述电子设备中发生复位时,读取所述校验区域中的校验变量和校验基准,对所述校验变量执行所述校验计算,而得到计算结果。
[0039]按照与根据校验变量获得所述校验基准的方式对应的校验方式,来对所述校验变量进行校验而得到校验结果,以便通过比较该校验结果和校验基准来确定复位类型。
[0040]作为示例,如果通过上述的公式I而从所述校验变量获得所述校验基准
[0041](即各个校验变量进行异或并减一),则在210中通过对校验区域中的各个校验变量执行异或减一运算来进行校验,并得到校验结果。
[0042]替换地,如果通过对各个校验变量执行循环冗余码计算而获得所述校验基准,则在210中相应地通过对校验区域中的各个校验变量执行循环冗余码校验来进行校验,并得到校验结果。
[0043]在220中,比较所述计算结果和所述校验基准,当所述计算结果等于所述校验基准时,确定所述电子设备的复位类型是上电复位,当所述计算结果不等于所述校验基准时,确定所述电子设备的复位类型是非上电复位
[0044]如前所述,校验区域中的校验基准和校验变量的值在诸如硬件复位、软件复位之类的非上电复位中会保存,但是如果电子设备掉电,则该校验区域中的校验基准和校验变量的值会丢失。在电子设备重新上电之后,如果没有对所述校验区域主动进行赋值,则所述校验区域中的值是乱码。
[0045]在电子设备上电后的初始化中进行的复位中,由于电子设备重新上电之后所述校验区域中的值是乱码,所以对校验区域中的各个校验变量执行校验而得到校验结果通常不等于所述校验基准,从而准确地确定出在该初始化中进行的复位是上电复位。
[0046]在电子设备的带电运行中发生的复位的情况中,校验区域中的校验基准和校验变量的值会保存而不会丢失,所以对校验区域中的各个校验变量执行校验而得到校验结果等于所述校验基准,从而确定出在带电运行中发生的复位是非上电复位。
[0047]在230中,当确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。这是因为如果电子设备的复位类型是上电复位,则校验区域中的各个字节的值是乱码,此时需要在所述校验区域中进行带校验基准的写内存,从而在随后发生的复位中确定复位类型。
[0048]在上面结合图2描述的用于确定上电复位的方法的实施例中,利用从内存中选择的特定数目字节作为校验区域来进行上电复位的确定,从而在不增加其它硬件器件的基础上进行简单、有效、可靠的上电复位类型判断。
[0049]图3示意性示出了用于实现根据本发明实施例的用于确定上电复位的方法的程序。该程序是以C语言进行编写。在图3中进行了简化,校验区域的为32个字节,校验变量仅为datal和data2, dwCheckRamdata函数用于执行图2中的210中的校验变量异或减一的操作,并且通过变量byRstType给出所确定的复位类型。此外,本领域的技术人员可以采用其它的编程语言和/或结合电子设备的配置而实现本发明实施例。
[0050]图4是示出了根据本发明另一实施例的用于确定上电复位的方法的流程图。在该图4中,在结合图2描述的利用校验区域确定上电复位的基础上,进一步组合了其它确定复位类型的方式,即利用复位寄存器来确定电子设备的复位类型是否是软件复位、以及利用心跳寄存器来确定所述电子设备的复位类型是上电复位还是非上电复位。
[0051]下面对利用复位寄存器确定复位类型的方式、和利用心跳寄存器确定复位类型的方式进行如下的示例性说明。
[0052]在诸如微控制单元的电子设备中存在系统寄存器(例如复位寄存器)来标示电子设备的状态,在所述复位寄存器中可以设置用于标示是否发生了软件复位的比特,则通过复位寄存器的所述比特可以是确定所发生的复位是否是软件复位。
[0053]在FPGA中,定义一个逻辑专用地址作为心跳寄存器的地址,并采用适当的方式来判断所述地址中的逻辑是否在正常运行,例如,采取逻辑取反的方式来进行判断。具体地,向该心跳寄存器的地址写入数据,如果回读的数据和写入的数据互为相反数(正常运行的逻辑会对写入的数据取反),则代表逻辑心跳在正常运行。如果逻辑心跳在正常运行,则发生的复位的类型是非上电复位;如果逻辑心跳没有正常运行,则发生的复位的类型是上电复位。在具体的实践中,可以根据需要采用适当的方式来利用复位寄存器或逻辑心跳寄存器确定复位类型,具体的确定方式不构成对本发明的限制。
[0054]具体对图4说明如下。利用复位寄存器来确定电子设备的复位类型是否是软件复位(410)。如果在410中确定复位类型是软件复位(460),则结束。如果在410中确定复位类型不是软件复位,则进行本发明实施例的利用校验区域来确定电子设备的复位类型是否是上电复位(420)。如果在420中确定复位类型是上电复位(440),则结束。如果在420中确定复位类型不是上电复位(即非上电复位),则利用心跳寄存器来确定所述电子设备的复位类型是否是上电复位(430)。如果在430中确定电子设备的复位类型是上电复位(430中的是),则确定复位类型是上电复位(440),然后结束。如果在430中确定电子设备的复位类型是上电复位(430中的否),则确定复位类型是非上电复位(450),然后结束。
[0055]在图4中,将本发明实施例的利用校验区域来确定电子设备的复位类型是否是上电复位(420)与利用复位寄存器来确定电子设备的复位类型是否是软件复位(410)和利用心跳寄存器来确定所述电子设备的复位类型是否是上电复位(430) 二者组合以确定复位类型。
[0056]在具体的复位类型确定中,可以将420中的复位类型确定方式仅仅与410和430中的一个复位类型确定方式组合使用。
[0057]在电子设备还包括复位寄存器的情况中,当所述电子设备中发生复位时,利用所述复位寄存器来确定电子设备的复位类型是否是软件复位(410);在确定所述复位类型不是软件复位的情况下,执行所述对所述校验区域中的校验变量的校验(图2中的210),并然后执行图2中的220以确定复位类型是否是上电复位。在此情况中,先排除了复位类型是软件复位的情况,然后进一步进行上电复位的确定,这提高了复位类型确定的效率和准确度。
[0058]替换地,在电子设备包括心跳寄存器的情况中,当通过图2中的210、220和230而确定所述复位类型是非上电复位时,进一步利用所述心跳寄存器来确定所述电子设备的复位类型是上电复位还是非上电复位(430)。在这个情况中,通过采取两种方式确定复位类型是否是上电复位,提高了上电复位确定的准确度。
[0059]在具体的实践中,还可以将本发明实施例的上电复位类型确定方式(即利用校验区域来确定复位类型是否是上电复位)与其它的复位类型确定方式组合使用,这里不再详细描述。
[0060]图5是示出了根据本发明实施例的用于确定上电复位的电子设备500的框图。
[0061]所述用于确定上电复位的电子设备500适用于具有内存的任何电子设备,该电子设备如前所述可以是微控制单元、数字信号处理器、中央处理单元、现场可编程门阵列电路等,只要其具有内存即可。所述内存可以是电子设备中的内存,也可以是与所述电子设备连接的内存,其例如为随机存取存储器(RAM,Random Access Memory)内存。
[0062]所述电子设备500包括内存510和复位类型确定模块520。所述内存510包括校验区域511,该校验区域511用于存放在非上电复位中不丢失的校验基准和校验变量,所述校验基准是通过对所述校验变量执行校验计算而获得的。所述复位类型确定模块520包括:计算单元521,用于在所述电子设备中发生复位时,读取所述校验区域中的所述校验变量和校验基准,对所述校验变量的数据值执行所述校验计算,而得到计算结果;第一确定单元522,用于比较所述计算结果和所述校验基准,在所述计算结果等于所述校验基准时、确定所述电子设备的复位类型是上电复位,在所述计算结果不等于所述校验基准时、确定所述电子设备的复位类型是非上电复位;赋值单元523,用于在确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。下面进行具体描述。
[0063]可以从所述内存510中选择特定数目的字节作为所述校验区域511,以存放在非上电复位中不丢失的校验基准和校验变量。作为示例,可以选择从电子设备的内存510的基地址(即,第O字节的地址)开始的128字节作为所述校验区域511,还可以选择从所述内存510的第100字节开始的64字节作为所述校验区域511。所述校验区域511的开始地址和字节数不构成对本发明实施例的限制。在实践中,可以根据上电复位的确定准确度要求来适当地设置校验区域的字节数。该字节数越大,则上电复位的确定准确度越高。关于校验基准和校验变量在该校验区域511中的存储可以参见前面结合图1进行的描述。同样,所述校验基准的字节数不限于两个,其还可以是一个字节或四个字节。
[0064]如果电子设备掉电,则上电之后该校验区域511中各个字节的值是乱码。
[0065]在电子设备500正常运行之后的状态中,可以使用校验和的方式对该校验区域511进行存取。所述校验基准例如可以通过前述的公式(I)来获得,也可以采取其它的方式获得所述校验基准,例如采取循环冗余码(CRC,Cyclic Redundancy Code)校验等方式。具体的方式不构成对本发明的限制。
[0066]所述复位类型确定模块520中的计算单元521用于在所述电子设备500中发生复位时,读取所述校验区域511中的所述校验变量和校验基准,对所述校验变量的数据值执行所述校验计算,而得到计算结果。计算单元521按照与根据校验变量获得所述校验基准的方式对应的校验方式,来对所述校验变量进行校验而得到校验结果,以便通过比较该校验结果和校验基准来确定复位类型。
[0067]所述复位类型确定模块520中的第一确定单元522用于通过比较所述校验基准和所述校验结果来确定所述电子设备的复位类型是上电复位还是非上电复位。具体地,所述第一确定单元522比较所述计算结果和所述校验基准,在所述计算结果等于所述校验基准时、确定所述电子设备的复位类型是上电复位,在所述计算结果不等于所述校验基准时、确定所述电子设备的复位类型是非上电复位。
[0068]在电子设备500上电后的初始化中进行的复位中,电子设备500重新上电之后所述校验区域中的值是乱码。此时,第一确定单元522通过比较而确定对各个校验变量执行校验而得到校验结果不等于所述校验基准,从而准确地确定出在该初始化中进行的复位是上电复位。
[0069]在电子设备的带电运行中发生的复位的情况中,校验区域511中的校验基准和校验变量的值会保存而不会丢失。第一确定单元522通过比较而确定所述校验结果等于所述校验基准,从而确定出在带电运行中发生的复位是非上电复位。
[0070]所述复位类型确定模块520中的赋值单元523用于在确定所述电子设备500的复位类型是上电复位,向所述校验区域511中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。这是因为如果电子设备的复位类型是上电复位,则校验区域中的各个字节的值是乱码,此时需要在所述校验区域中进行带校验基准的写内存,从而在随后发生的复位中确定复位类型。
[0071]在上面结合图5描述的用于确定上电复位的电子设备500的实施例中,利用从内存510中选择的特定数目字节作为校验区域511来进行上电复位的确定,从而在不增加其它硬件器件的基础上进行简单、有效、可靠的上电复位类型判断。
[0072]可选地,在结合图5描述的利用校验区域确定上电复位的电子设备500中,还可以进一步组合其它的复位类型确定方式,从而提高复位类型确定的效率和/或准确度。[0073]作为示例,所述电子设备500还可以包括复位寄存器512,所述电子设备500还可以包括第二确定单元526,用于利用所述复位寄存器512来确定电子设备500的复位类型是否是软件复位。在第二确定单元526确定所述复位类型不是软件复位的情况下,所述计算单元521和所述第一确定单元522进行操作以确定所述电子设备的复位类型是上电复位还是非上电复位。在此情况中,先排除了复位类型是软件复位的情况,然后进一步进行上电复位的确定,这提高了电子设备500确定复位类型的效率和准确度。
[0074]作为另一示例,所述电子设备还可以包括心跳寄存器513,所述电子设备500可以包括第三确定单元527。当第一确定单元522确定所述复位类型是非上电复位时,第三确定单元527利用所述心跳寄存器513来确定所述电子设备500的复位类型是上电复位还是非上电复位。在这个情况中,通过采取两种方式确定复位类型是否是上电复位,提高了上电复位确定的准确度。
[0075]关于电子设备500包括第二确定单元526和第三确定单元527 二者的情况,请具体参见结合图4进行的描述。
[0076]在具体的实践中,还可以将本发明实施例的上电复位类型确定方式(即利用校验区域来确定复位类型是否是上电复位)与其它的复位类型确定方式组合使用,这里不再详细描述。
[0077]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0078]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0079]在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0080]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0081]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种确定复位类型的方法,其特征在于,该方法应用于一具有内存的电子设备,该内存包括校验区域,该校验区域用于存放在非上电复位中不丢失的校验基准和校验变量,所述校验基准是通过对所述校验变量执行校验计算而获得的,所述方法包括: 当所述电子设备中发生复位时,读取所述校验区域中的校验变量和校验基准,对所述校验变量执行所述校验计算,而得到计算结果; 比较所述计算结果和所述校验基准,当所述计算结果等于所述校验基准时,确定所述电子设备的复位类型是上电复位,当所述计算结果不等于所述校验基准时,确定所述电子设备的复位类型是非上电复位;以及 当确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。
2.根据权利要求1的方法,其特征在于,所述对所述校验变量执行所述校验计算包括: 对所述校验变量中的各个校验变量执行异或减一的计算。
3.根据权利要求2的方法,其特征在于,通过增加所述校验变量的数目来提高复位类型的确定准确度。
4.根据权利要求1的方法,其特征在于,所述电子设备还包括复位寄存器,所述方法还包括: 当所述电子设备中发生复位时,利用所述复位寄存器来确定电子设备的复位类型是否是软件复位; 在确定所述复位类型不是软件复位的情况下,执行所述读取、校验计算和确定操作以确定所述复位类型是上电复位还是非上电复位。`
5.根据权利要求1的方法,其特征在于,所述电子设备还包括心跳寄存器,当确定所述复位类型是非上电复位时,所述方法还包括: 利用所述心跳寄存器来确定所述电子设备的复位类型是上电复位还是非上电复位。
6.根据权利要求1的方法,其特征在于,所述内存是电子设备中的内存或与所述电子设备连接的内存。
7.—种电子设备,其特征在于,包括: 内存,包括校验区域,该校验区域用于存放在非上电复位中不丢失的校验基准和校验变量,所述校验基准是通过对所述校验变量执行校验计算而获得的; 复位类型确定模块,包括: 计算单元,用于在所述电子设备中发生复位时,读取所述校验区域中的所述校验变量和校验基准,对所述校验变量的数据值执行所述校验计算,而得到计算结果; 第一确定单元,用于比较所述计算结果和所述校验基准,在所述计算结果等于所述校验基准时、确定所述电子设备的复位类型是上电复位,在所述计算结果不等于所述校验基准时、确定所述电子设备的复位类型是非上电复位; 赋值单元,用于在确定所述电子设备的复位类型是上电复位,向所述校验区域中重新写入所述校验变量和所述校验基准,以用于下一次的复位类型确定。
8.根据权利要求7的电子设备,其特征在于,所述计算单元通过对所述校验变量中的各个校验变量执行异或减一的计算来执行所述校验计算。
9.根据权利要求8的电子设备,其特征在于,通过增加所述校验变量的数目来提高复位类型的确定准确度。
10.根据权利要求7的电子设备,其特征在于,所述电子设备还包括复位寄存器,所述复位类型确定模块还包括: 第二确定单元,用于利用所述复位寄存器来确定电子设备的复位类型是否是软件复位; 其中,在第二确定单元确定所述复位类型不是软件复位的情况下,所述计算单元和所述第一确定单元进行操作以确定所述电子设备的复位类型是上电复位还是非上电复位。
11.根据权利要求7的电子设备,其特征在于,所述电子设备还包括心跳寄存器,所述复位类型确定模块还包括: 第三确定单元,用于当第一确定单元确定所述复位类型是非上电复位时,利用所述心跳寄存器来确定所述电子设备的复位类型是上电复位还是非上电复位。
12.根据权利要求7的电子设备,其特征在于,所述内存是位于电子设备中的内存或与所述电子设备连接的内存。`
【文档编号】G06F1/24GK103793032SQ201210433242
【公开日】2014年5月14日 申请日期:2012年11月2日 优先权日:2012年11月2日
【发明者】夏述堰, 谢良, 吴艳琴 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1