CN102736957B - 复位方法及其装置 - Google Patents

复位方法及其装置 Download PDF

Info

Publication number
CN102736957B
CN102736957B CN201210165121.2A CN201210165121A CN102736957B CN 102736957 B CN102736957 B CN 102736957B CN 201210165121 A CN201210165121 A CN 201210165121A CN 102736957 B CN102736957 B CN 102736957B
Authority
CN
China
Prior art keywords
reset
soc
exceptional
register
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210165121.2A
Other languages
English (en)
Other versions
CN102736957A (zh
Inventor
余剑锋
卢华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210165121.2A priority Critical patent/CN102736957B/zh
Publication of CN102736957A publication Critical patent/CN102736957A/zh
Application granted granted Critical
Publication of CN102736957B publication Critical patent/CN102736957B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种复位方法及其装置,涉及片上系统领域,可以提供SOC异常复位发生时的现场信息,方便异常复位问题的定位。该复位方法包括:根据复位源选择复位方式,所述复位源包括:上电复位和异常复位;当所述复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止所述SOC挂死,并使所述SOC内的其他模块的寄存器保持所述异常复位发生时的值不变;读取所述其他模块的寄存器在所述异常复位发生时的值并保存;触发全局软复位使所述SOC恢复到确定的初始状态,以使所述SOC能够正常工作。

Description

复位方法及其装置
技术领域
本发明涉及片上系统领域,尤其涉及一种复位方法及其装置。
背景技术
随着集成电路生产制造工艺的不断发展,片上系统(System On Chip,SOC)中同样面积大小的单颗芯片上可以集成越来越多的复杂电路逻辑。在SOC出现异常时,为了防止SOC挂死,会触发异常复位,从而使得SOC中的电路逻辑自动恢复到确定的初始状态。
目前,在SOC中,一旦SOC发生异常,会触发整个SOC全局复位,即SOC中所有的电路逻辑和寄存器都恢复到SOC的上电复位初始状态,因此,缺少有效的方法对SOC异常复位问题进行定位。
发明内容
本发明的实施例提供一种复位方法及其装置,可以提供SOC异常复位发生时的现场信息,方便异常复位问题的定位。
为解决上述技术问题,本发明的实施例采用如下技术方案:
一种复位方法,包括:
根据复位源选择复位方式,所述复位源包括:上电复位和异常复位;
当所述复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止所述SOC挂死,并使所述SOC内的其他模块的寄存器保持所述异常复位发生时的值不变;
读取所述其他模块的寄存器在所述异常复位发生时的值并保存;
触发全局软复位使所述SOC恢复到确定的初始状态,以使所述SOC能够正常工作。
一种复位装置,包括:
复位选择单元,用于根据复位源选择复位方式,所述复位源包括:上电复位和异常复位;
第一复位单元,用于当所述复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止所述SOC挂死,并使所述SOC内的其他模块的寄存器保持所述异常复位发生时的值不变;
保存单元,用于读取所述其他模块的寄存器在所述异常复位发生时的值并保存;
第二复位单元,用于触发全局软复位使所述SOC恢复到确定的初始状态,以使所述SOC能够正常工作。
本发明实施例提供的复位方法及其装置,与现有技术中异常复位发生时触发全局复位相比,保存SOC异常复位发生时的现场信息,方便了SOC异常复位问题的定位。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供中一种复位方法的流程图;
图2为本发明实施例提供中另一种复位方法的流程图;
图3为本发明实施例提供中另一种复位方法的流程图;
图4为本发明实施例提供中一种复位装置的结构框图;
图5为本发明实施例提供中另一种复位装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种SOC的复位方法,包括:
步骤101、根据复位源选择复位方式,复位源包括:上电复位和异常复位;
具体地,上电复位是由外接电源管理单元(Power Management Unit,PMU)输出到SOC上电复位管脚的电平跳变触发,而异常复位是由SOC内部的看门狗(Watchdog)功能模块或其他功能模块触发。通过读取SOC中复位状态寄存器的值,可以获取上述复位源信息,因此可以根据复位源信息对复位方式进行选择。
步骤102、当复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止SOC挂死,并使SOC内的其他模块的寄存器保持异常复位发生时的值不变;
具体地,处理器内核复位即使处理器内核的电路逻辑恢复到确定的初始状态,可以防止整个SOC挂死,同时除了处理器内核之外其他模块中寄存器未复位,从而使未复位的模块中寄存器的值保持不变。
步骤103、读取上述其他模块的寄存器在异常复位发生时的值并保存;
具体地,上述其他模块的寄存器在SOC异常复位发生时的值能够作为SOC异常发生时的现场信息,从而反映导致SOC发生异常的原因,因此可以在未复位时通过处理器内核读取上述其他模块的寄存器的值并保存起来。
步骤104、触发全局软复位使SOC恢复到确定的初始状态,以使SOC能够正常工作。
具体地,在获得SOC发生异常时的现场信息之后,触发SOC全局软复位,全局软复位具体是使SOC内部的电路逻辑和寄存器都恢复到确定的初始状态,从而确保SOC进入正常工作状态。
在SOC进入正常工作状态后,可以读取之前保存的各模块的寄存器在异常复位发生时的值,从而根据异常复位发生时的现场信息,在不影响SOC正常工作的同时,对异常复位问题进行定位分析。
根据以上描述,本发明实施例提供的复位方法,与现有技术中异常复位发生时触发全局复位相比,保存SOC异常复位发生时的现场信息,方便了SOC异常复位问题的定位。
如图2所示,进一步地,在触发全局软复位使SOC恢复到确定的初始状态,以使SOC能够正常工作的步骤之后,还包括:
步骤105、读取上述其他模块的寄存器在SOC异常复位发生时的值,以便于对异常复位发生的原因进行定位分析。
具体地,由于SOC此时已经恢复正常的工作状态,因此可以根据异常复位发生时的现场信息,在不影响SOC正常工作的同时,对异常复位问题进行定位分析。
进一步地,还包括:
步骤106、当复位源为上电复位时,触发全局软复位以使SOC正常启动。
具体地,在根据复位源选择复位方式之后,若判断复位源为上电复位,则进入SOC的正常启动流程即可。
具体地,上述步骤103、读取上述其他模块的寄存器在异常复位发生时的值并保存的步骤包括:
步骤1031、读取上述其他模块的寄存器在异常复位发生时的值,并保存到不受全局软复位控制的存储空间。
具体地,上述不受全局软复位控制的存储空间可以是非易失性存储器或者硬盘、存储卡等。
如图3所示,进一步地,在步骤103、读取上述其他模块的寄存器在异常复位发生时的值并保存的步骤之前,还可以包括:
步骤1021、触发用于使处理器内核访问上述其他模块的互联总线复位,以防止互联总线挂死。
具体地,可以在触发处理器内核复位的同时触发互联总线复位,以防止互联总线挂死,从而使处理器内核无法访问上述其他模块并读取和保存寄存器的值。除了直接触发互联总线复位,还可以根据互联总线是否挂死来决定是否复位互联总线。需要说明的是,若SOC中包括调试专用逻辑电路,则无需触发互联总线复位,处理器内核通过调试专用逻辑电路访问上述各模块并读取和保存寄存器的值即可。调试专用逻辑电路在SOC正常工作模式下不作用,用于为处理器内核提供后门式的访问通路。
其他具体的复位方法与上述实施例相同,在此不再赘述,本发明实施例提供的复位方法,与现有技术中异常复位发生时触发全局复位相比,可以在不影响SOC正常工作的同时,保存SOC异常复位发生时的现场信息,方便了SOC异常复位问题的定位。
如图4所示,本发明实施例还提供一种SOC的复位装置,包括:
复位选择单元1,用于根据复位源选择复位方式,复位源包括:上电复位和异常复位;
第一复位单元2,用于当所述复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止SOC挂死,并使SOC内的其他模块的寄存器保持异常复位发生时的值不变;
保存单元3,用于读取上述其他模块的寄存器在异常复位发生时的值并保存;
第二复位单元4,用于触发全局软复位使SOC恢复到确定的初始状态,以使SOC能够正常工作。
具体的复位方法与上述实施例相同,在此不再赘述,在SOC进入正常工作状态后,可以读取之前保存的各模块的寄存器在异常复位发生时的值,从而根据异常复位发生时的现场信息,在不影响SOC正常工作的同时,对异常复位问题进行定位分析。
根据以上描述,本发明实施例提供的复位装置,与现有技术中异常复位发生时触发全局复位相比,保存SOC异常复位发生时的现场信息,方便了SOC异常复位问题的定位。
进一步地,第一复位单元2还可以用于,在读取上述其他模块的寄存器在异常复位发生时的值并保存的步骤之前,触发用于使处理器内核访问上述其他模块的互联总线复位,以防止互联总线挂死。
进一步地,保存单元3具体用于,读取上述其他模块的寄存器在异常复位发生时的值,并保存到不受所述全局软复位控制的存储空间
如图5所示,上述复位装置还包括:读取单元5,用于读取上述其他模块的寄存器在SOC异常复位发生时的值,以便于对异常复位发生的原因进行定位分析。
进一步地,第二复位单元4还用于,当复位源为上电复位时,触发全局软复位以使SOC正常启动。
进一步地,不受全局软复位控制的存储空间为非易失性存储器。
具体的复位方法与上述实施例相同,在此不再赘述,本发明实施例提供的复位装置,与现有技术中异常复位发生时触发全局复位相比,可以在不影响SOC正常工作的同时,保存SOC异常复位发生时的现场信息,方便了SOC异常复位问题的定位。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种复位方法,其特征在于,包括:
根据复位源选择复位方式,所述复位源包括:上电复位和异常复位;
当所述复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止所述SOC挂死,并使所述SOC内的其他模块的寄存器保持所述异常复位发生时的值不变;
读取所述其他模块的寄存器在所述异常复位发生时的值并保存;
触发全局软复位使所述SOC内部的电路逻辑和寄存器都恢复到确定的初始状态,以使所述SOC能够正常工作。
2.根据权利要求1所述的复位方法,其特征在于,
在读取所述其他模块的寄存器在所述异常复位发生时的值并保存的步骤之前,还包括:
触发用于使所述处理器内核访问所述其他模块的互联总线复位,以防止所述互联总线挂死。
3.根据权利要求1或2所述的复位方法,其特征在于,
所述读取所述其他模块的寄存器在所述异常复位发生时的值并保存的步骤包括:
读取所述其他模块的寄存器在所述异常复位发生时的值,并保存到不受所述全局软复位控制的存储空间。
4.根据权利要求3所述的复位方法,其特征在于,在所述触发全局软复位使所述SOC恢复到确定的初始状态,以使所述SOC能够正常工作的步骤之后,还包括:
读取所述其他模块的寄存器在所述SOC异常复位发生时的值,以便于对所述异常复位发生的原因进行定位分析。
5.根据权利要求3所述的复位方法,其特征在于,
所述不受所述全局软复位控制的存储空间为非易失性存储器。
6.根据权利要求1、2、4、5任一所述的复位方法,其特征在于,还包括:
当复位源为上电复位时,触发全局软复位以使所述SOC正常启动。
7.一种复位装置,其特征在于,包括:
复位选择单元,用于根据复位源选择复位方式,所述复位源包括:上电复位和异常复位;
第一复位单元,用于当所述复位源为异常复位时,触发片上系统SOC内的处理器内核复位,以防止所述SOC挂死,并使所述SOC内的其他模块的寄存器保持所述异常复位发生时的值不变;
保存单元,用于读取所述其他模块的寄存器在所述异常复位发生时的值并保存;
第二复位单元,用于触发全局软复位使所述SOC内部的电路逻辑和寄存器都恢复到确定的初始状态,以使所述SOC能够正常工作。
8.根据权利要求7所述的复位装置,其特征在于,
所述第一复位单元还用于,在读取所述其他模块的寄存器在所述异常复位发生时的值并保存的步骤之前,触发用于使所述处理器内核访问所述其他模块的互联总线复位,以防止所述互联总线挂死。
9.根据权利要求7或8所述的复位装置,其特征在于,
所述保存单元具体用于,读取所述其他模块的寄存器在所述异常复位发生时的值,并保存到不受所述全局软复位控制的存储空间。
10.根据权利要求9所述的复位装置,其特征在于,还包括:
读取单元,用于读取所述其他模块的寄存器在所述SOC异常复位发生时的值,以便于对所述异常复位发生的原因进行定位分析。
11.根据权利要求9所述的复位装置,其特征在于,
所述不受所述全局软复位控制的存储空间为非易失性存储器。
12.根据权利要求7、8、10、11任一所述的复位装置,其特征在于,
所述第二复位单元还用于,当复位源为上电复位时,触发全局软复位以使所述SOC正常启动。
CN201210165121.2A 2012-05-25 2012-05-25 复位方法及其装置 Active CN102736957B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210165121.2A CN102736957B (zh) 2012-05-25 2012-05-25 复位方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210165121.2A CN102736957B (zh) 2012-05-25 2012-05-25 复位方法及其装置

Publications (2)

Publication Number Publication Date
CN102736957A CN102736957A (zh) 2012-10-17
CN102736957B true CN102736957B (zh) 2015-07-08

Family

ID=46992502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210165121.2A Active CN102736957B (zh) 2012-05-25 2012-05-25 复位方法及其装置

Country Status (1)

Country Link
CN (1) CN102736957B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142726B (zh) * 2013-05-09 2020-04-14 中国科学院微电子研究所 芯片复位保护方法与芯片
CN105871362A (zh) * 2015-01-22 2016-08-17 惠州市德赛西威汽车电子股份有限公司 音频芯片失效的自恢复方法
CN107562560A (zh) * 2017-08-31 2018-01-09 青岛海信移动通信技术股份有限公司 异常问题处理方法及装置
CN113835923A (zh) * 2020-06-24 2021-12-24 华为技术有限公司 一种复位系统、数据处理系统以及相关设备
CN114327006B (zh) * 2021-12-22 2024-03-15 山东产研鲲云人工智能研究院有限公司 NoC复位电路、NoC芯片、控制方法、装置及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430658A (zh) * 2008-12-11 2009-05-13 华为技术有限公司 异常复位信息的保存方法及装置
CN101546279A (zh) * 2009-05-14 2009-09-30 华为技术有限公司 嵌入式设备的异常处理装置、系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI329836B (en) * 2006-11-30 2010-09-01 Prolific Technology Inc System on chip start-up method and computer medium thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101430658A (zh) * 2008-12-11 2009-05-13 华为技术有限公司 异常复位信息的保存方法及装置
CN101546279A (zh) * 2009-05-14 2009-09-30 华为技术有限公司 嵌入式设备的异常处理装置、系统和方法

Also Published As

Publication number Publication date
CN102736957A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN104412224B (zh) 在从低电力状态恢复时处理系统从易失性存储器的重新初始化
CN103119554B (zh) 提供平台无关的存储器逻辑
US9037812B2 (en) Method, apparatus and system for memory validation
CN102736957B (zh) 复位方法及其装置
CN109683696A (zh) 服务器电源故障检测系统、方法、装置、设备及介质
CN105164635B (zh) 针对固态存储设备在运行中的性能调整
CN107797642B (zh) 一种备电方法及装置
US9262322B2 (en) Method and apparatus for storing a processor architectural state in cache memory
EP2463780A1 (en) Debug registers for halting processor cores after reset or power off
CN104781885A (zh) 用于对行敲击事件进行响应的方法、装置和系统
US9389942B2 (en) Determine when an error log was created
CN111324493B (zh) 针对处理器板级调试的开发系统及方法
US20240061738A1 (en) Log output method and system for server, and related apparatus
CN104011733A (zh) 在系统预引导期间具有改进的只读存储器锁定的安全数据保护
CN104781794A (zh) 用于非易失性存储器中的数据结构的暂时和持久状态之间的原地改变
CN103257922B (zh) 一种快速测试bios与os接口代码可靠性的方法
CN102736013B (zh) 一种SoC芯片的空闲状态测试方法、系统及测试装置
CN102479121A (zh) 独立磁盘冗余阵列实现及测试方法
CN104021058A (zh) 一种测试板卡快速启动的方法
CN103197933A (zh) 计算机及其快速启动方法
US20070005860A1 (en) Interrupt control system and method
CN104460938B (zh) 利用存储器高速缓存在系统范围内节省电力的方法和系统
US10162917B1 (en) Method and system for implementing selective transformation for low power verification
US20120159410A1 (en) Method for Identifying Redundant Signal Paths for Self-gating Signals
CN117827554A (zh) 测试方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant