CN117055965A - 片上系统的启动方法、装置、片上系统及电子设备 - Google Patents

片上系统的启动方法、装置、片上系统及电子设备 Download PDF

Info

Publication number
CN117055965A
CN117055965A CN202311108674.9A CN202311108674A CN117055965A CN 117055965 A CN117055965 A CN 117055965A CN 202311108674 A CN202311108674 A CN 202311108674A CN 117055965 A CN117055965 A CN 117055965A
Authority
CN
China
Prior art keywords
watchdog
processor core
boot loader
power management
management module
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.)
Pending
Application number
CN202311108674.9A
Other languages
English (en)
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.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202311108674.9A priority Critical patent/CN117055965A/zh
Publication of CN117055965A publication Critical patent/CN117055965A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种片上系统的启动方法、装置、片上系统及电子设备,片上系统包括处理器核和电源管理模块,处理器核和电源管理模块之间通信连接,处理器核用于加载引导加载程序;方法包括:通过电源管理模块向处理器核释放复位信号,以使处理器核启动;处理器核的启动过程中包括加载引导加载程序;通过电源管理模块指示第一看门狗对引导加载程序的加载时间进行监控;第一看门狗针对引导加载程序的各阶段分别设置有对应的看门狗超时时间,且处理器核在引导加载程序的每一阶段执行完毕后执行一次喂狗操作;通过电源管理模块判断出第一看门狗超时未喂狗,重新向处理器核释放复位信号。本申请提高了复位效率。

Description

片上系统的启动方法、装置、片上系统及电子设备
技术领域
本申请涉及芯片技术领域,具体而言,涉及一种片上系统的启动方法、装置、片上系统及电子设备。
背景技术
目前,为实现片上系统的可靠启动,通常会为整个启动过程设置一个看门狗进行监控,一旦发现启动过程超时未喂狗,看门狗就会触发复位操作,以重新对未处理器进行启动。
但是,该方式只能在整个启动过程超时未喂狗后进行复位,导致复位效率低。例如,看门狗设置的看门狗超时时间为n,n为片上系统正常启动的最大时长,则一旦片上系统启动过程中的某一个步骤,比如第一个步骤就出现了问题,此时仍旧需要等到看门狗超时时间n结束后才能复位,导致存在大量的无用等待时间,降低了复位效率。
发明内容
本申请实施例的目的在于提供一种片上系统的启动方法、装置、片上系统及电子设备,用以提高片上系统的复位效率。
本申请实施例提供了一种片上系统的启动方法,其特征在于,所述方法应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述方法包括:通过所述电源管理模块向所述处理器核释放复位信号,以使所述处理器核启动;所述处理器核的启动过程中包括加载所述引导加载程序;通过所述电源管理模块指示第一看门狗对所述引导加载程序的加载时间进行监控;所述第一看门狗针对所述引导加载程序的各阶段分别设置有对应的看门狗超时时间,且所述处理器核在所述引导加载程序的每一阶段执行完毕后执行一次喂狗操作;通过所述电源管理模块判断出所述第一看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
在上述实现方式中,通过设置第一看门狗,并针对引导加载程序的各阶段分别设置对应的看门狗超时时间,并且配置处理器核在引导加载程序的每一阶段执行完毕后要执行一次喂狗操作,从而利用第一看门狗实现了对于引导加载程序的每一阶段的单独监控,在加载引导加载程序的任一阶段超时后即可触发复位,相比于传统的技术方案,上述实现方式可以在加载引导加载程序的各个小阶段超时后就触发复位,而不必等待整个启动过程超时后才复位,提高了复位效率。此外,通过上述实现方式,还可以定位到触发复位的具体阶段,从而为后续进行故障分析等工作提供信息支持。
进一步地,所述第一看门狗为软件看门狗,且所述第一看门狗响应于所述处理器核的喂狗操作,将所述喂狗操作所属阶段的下一阶段对应的看门狗超时时间更新为当前使用的看门狗超时时间。
在上述实现方案中,通过采用软件看门狗来实现第一看门狗的功能,可以简化片上系统的电路结构,降低片上系统的复杂度,利于方案的实现。
进一步地,所述第一看门狗包括多个硬件看门狗,一个硬件看门狗对应所述引导加载程序的至少一个阶段,各所述硬件看门狗的看门狗超时时间设置为该硬件看门狗对应的阶段的看门狗超时时间;且各所述硬件看门狗响应于所述处理器核的喂狗操作,结束该喂狗操作所属阶段对应的硬件看门狗,并启动该喂狗操作所属阶段的下一阶段对应的硬件看门狗。
在上述实现方式中,通过采用多个硬件看门狗来实现第一看门狗的功能,由于硬件看门狗的可靠性较软件看门狗而言更高,因此上述方式可以提高看门狗的可靠性,降低看门狗异常的风险,进而提高整个方案的可靠性。
进一步地,所述处理器核内还用于在加载所述引导加载程序之后加载固件;所述处理器核的启动过程中还包括基于所述固件执行的建立服务的过程;所述方法还包括:在所述引导加载程序中运行环境初始化阶段执行完毕后,指示第二看门狗对所述建立服务的过程进行监控;响应于所述第二看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
在上述实现过程中,通过采用第二看门狗对建立服务的过程进行监控,在建立服务的过程中,一旦出现异常导致超时未建立的情况下,即可快速触发复位,使处理器核重新启动,相比于传统的技术方案,不必等待整个启动过程超时后才复位,提高了复位效率。
进一步地,所述第二看门狗为多个,且各所述第二看门狗具有不同的看门狗超时时间,且各所述第二看门狗分别用于对不同的服务的建立过程进行监控。
在上述实现过程中,通过设置多个具有不同的看门狗超时时间的第二看门狗来分别对不同的服务的建立过程进行监控,这就可以针对不同的服务的建立过程进行针对性的监控,从而提高监控质量。
进一步地,在所述引导加载程序中运行环境初始化阶段执行完毕后,所述方法还包括:打开第三看门狗;响应于所述引导加载程序最后一个阶段执行完毕,且已执行建立服务的过程的情况下的喂狗操作,关闭所述第三看门狗;响应于所述第三看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
在上述实现过程中,通过设置第三看门狗,可以监控在引导加载程序加载完毕后的设定时间段内是否进入了建立服务的过程,从而可以在超时未建立服务的情况下触发复位,使处理器核重新启动,相比于传统的技术方案,不必等待整个启动过程超时后才复位,提高了复位效率。
本申请实施例还提供了一种片上系统的启动方法,所述方法应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;所述方法包括:所述处理器核响应于所述电源管理模块释放的复位信号启动;所述处理器核的启动过程中包括加载所述引导加载程序;通过所述处理器核在所述引导加载程序的每一阶段执行完毕后对所述第一看门狗执行一次喂狗操作;其中:若所述第一看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
在上述实现方式中,通过设置第一看门狗,并针对引导加载程序的各阶段分别设置对应的看门狗超时时间,并且配置处理器核在引导加载程序的每一阶段执行完毕后要执行一次喂狗操作,从而利用第一看门狗实现了对于引导加载程序的每一阶段的单独监控,在加载引导加载程序的任一阶段超时后即可触发复位,相比于传统的技术方案,上述实现方式可以在加载引导加载程序的各个小阶段超时后就触发复位,而不必等待整个启动过程超时后才复位,提高了复位效率。此外,通过上述实现方式,还可以定位到触发复位的具体阶段,从而为后续进行故障分析等工作提供信息支持。
进一步地,所述处理器核内还用于在加载所述引导加载程序之后加载固件;所述处理器核的启动过程中还包括基于所述固件执行的建立服务的过程;所述电源管理模块还管理有第二看门狗,所述第二看门狗在所述引导加载程序中运行环境初始化阶段执行完毕后打开,用于对所述建立服务的过程进行监控;所述方法还包括:通过所述处理器核在所述引导加载程序中运行环境初始化阶段执行完毕后,基于所述固件建立服务,并在每一次服务建立完成后对所述第二看门狗执行一次喂狗操作;其中:若所述第二看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
通过上述实现过程,通过采用第二看门狗对建立服务的过程进行监控,在建立服务的过程中,一旦出现异常导致超时未建立的情况下,即可快速触发复位,使处理器核重新启动,相比于传统的技术方案,不必等待整个启动过程超时后才复位,提高了复位效率。
进一步地,在所述处理器核启动所需的服务建立完毕的情况下,所述方法还包括:通过所述处理器核启动系统;所述第二看门狗还用于对所述处理器核启动系统的过程进行监控;在启动完毕后,通过所述处理器核对所述第二看门狗执行一次喂狗操作。
本申请实施例还提供了一种片上系统的启动装置,所述装置应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述装置包括:复位模块,用于通过所述电源管理模块向所述处理器核释放复位信号,以使所述处理器核启动;所述处理器核的启动过程中包括加载所述引导加载程序;监控模块,用于通过所述电源管理模块指示第一看门狗对所述引导加载程序的加载时间进行监控;所述第一看门狗针对所述引导加载程序的各阶段分别设置有对应的看门狗超时时间,且所述处理器核在所述引导加载程序的每一阶段执行完毕后执行一次喂狗操作;所述复位模块还用于通过所述电源管理模块判断出所述第一看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
本申请实施例还提供了一种片上系统的启动装置,所述装置应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;所述装置包括:启动模块,用于控制所述处理器核响应于所述电源管理模块释放的复位信号启动;所述处理器核的启动过程中包括加载所述引导加载程序;喂狗模块,用于通过所述处理器核在所述引导加载程序的每一阶段执行完毕后对所述第一看门狗执行一次喂狗操作;其中:若所述第一看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
本申请实施例还提供了一种片上系统,包括处理器核和电源管理模块,且所述处理器核与所述电源管理模块通信连接;所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;所述电源管理模块用于执行上述通过所述电源管理模块实现的片上系统的启动方法;所述处理器核用于执行上述通过所述处理器核实现的片上系统的启动方法。
本申请实施例还提供了一种电子设备,包括上述片上系统。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个电源管理模块或处理器核执行,以实现上述任一种的片上系统的启动方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种片上系统的基本结构示意图;
图2为本申请实施例提供的一种的片上系统的启动方法的流程示意图;
图3为本申请实施例提供的一种片上系统的启动过程的流程示意图;
图4为本申请实施例提供的一种片上系统的启动装置的结构示意图;
图5为本申请实施例提供的另一种片上系统的启动装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了提高片上系统的复位效率,本申请实施例中提供了一种片上系统以及应用于片上系统的启动方法。可以参见图1所示,图1为本申请实施例中提供的片上系统的基本结构示意图,包括处理器核和电源管理模块,处理器核和电源管理模块之间通信连接,例如可以通过片内总线连接。其中:
处理器核在启动过程中可以加载引导加载程序(例如U-Boot等)、固件等程序代码。可以理解,片上系统内还可以具有存储单元,例如可以具有ROM(Read-Only Memory,只读存储器),引导加载程序和固件等程序可以设置于片上系统内的存储单元,供处理器核加载。此外,也可以在片上系统外设置存储单元,例如RAM(Random Access Memory,随机存取存储器)、SRAM(Static Random-Access Memory,静态随机存取存储器)等存储单元,引导加载程序和固件等程序可以设置于这些片上系统外的存储单元中,片上系统的处理器核与这些片上系统外的存储单元通信连接(例如通过通信总线连接),从而在处理器核启动时可以从这些存储单元中加载引导加载程序、固件等程序代码。
电源管理模块管理有第一看门狗,第一看门狗针对引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对引导加载程序的加载过程的各个阶段进行监控。
可以理解,引导加载程序在被加载时,具有多个小的阶段,例如可以包括有运行环境的建立阶段、调频阶段、PCIE(Peripheral Component Interconnect Express,周边设备高速连接标准)初始化阶段、DDR(Double Data Rate,双倍速率)初始化请求阶段、其他请求阶段等,但不作为限制。在本申请实施例中,针对引导加载程序的每一个阶段,可以依据该阶段的最大加载时间设置该阶段对应的看门狗超时时间。而各阶段的最大加载时间可以是根据收集到的历史数据得到,对此本申请实施例不作限制。
在本申请实施例中,参见图2所示,片上系统的处理器核和电源管理模块可以执行下述动作,以实现本申请实施例所提供的片上系统的启动方法,包括:
S201:通过电源管理模块向处理器核释放复位信号。
S202:处理器核响应于该复位信号进行启动。
在本申请实施例中,片上系统内可以设置寄存器来管理复位信号。当电源管理模块释放复位信号时,电源管理模块可以修改该寄存器的值为预设值。此时处理器核读取到该寄存器的值为预设值后,即进入启动阶段。可以理解,以上仅为本申请示例的一种向处理器核释放复位信号的可选方式,不限制本申请仅能采用该种方式实施。
在本申请实施例中,当处理器核进入启动阶段后,会加载引导加载程序。
S203:通过电源管理模块指示第一看门狗对引导加载程序的加载时间进行监控。
在本申请实施例中,电源管理模块可以在释放复位信号的同时,向第一看门狗发出指示其开始工作的指令,从而指示第一看门狗对引导加载程序的加载时间进行监控。
S204:处理器核在引导加载程序的每一阶段执行完毕后对第一看门狗执行一次喂狗操作。
在本申请实施例中,第一看门狗在被执行一次喂狗操作后,会更新看门狗超时时间为下一阶段对应的看门狗超时时间,并重新开始计时。
可选的,在一些实施例中,第一看门狗可以采用软件看门狗来实现,在软件看门狗的程序中,可以按照引导加载程序的各个阶段的加载顺序,依次配置好各阶段对应的看门狗超时时间的更新顺序。当软件看门狗被执行一次喂狗操作后,即按照看门狗超时时间的更新顺序,更新看门狗超时时间,并重新开始计时。这样,利用软件来实现第一看门狗的功能,可以简化片上系统的电路结构,降低片上系统的复杂度,利于方案的实现。
可选的,在另一些实施例中,第一看门狗也可以采用多个硬件看门狗来实现,且一个硬件看门狗对应引导加载程序的至少一个阶段,各硬件看门狗的看门狗超时时间设置为该硬件看门狗对应的阶段的看门狗超时时间。且各硬件看门狗之间的启动先后顺序按照各硬件看门狗对应的阶段的加载顺序预先进行配置。当处理器核针对当前阶段对应的硬件看门狗执行喂狗操作后,当前阶段对应的硬件看门狗结束工作,而下一阶段对应的硬件看门狗开始工作。
示例性的,在上述实施例中,可以为引导加载程序的每一个阶段单独设置一个硬件看门狗。例如,假设引导加载程序有5个阶段,则可以设置5个硬件看门狗,每个硬件看门狗的看门狗超时时间分别为对应的阶段的看门狗超时时间。此外,也可以针对引导加载程序中启动时间相同或者相近的多个阶段设置同一个硬件看门狗。例如,假设引导加载程序有5个阶段,其中阶段1和阶段2的启动时间相同为n1,阶段3和阶段4的启动时间接近,且阶段3的启动时间大于阶段4的启动时间,阶段3的启动时间为n2,阶段5的启动时间为n3,则可以设置3个硬件看门狗,第一个硬件看门狗的看门狗超时时间设置为n1,第二个硬件看门狗的看门狗超时时间设置为n2,第三个硬件看门狗的看门狗超时时间设置为n3。当处理器核加载引导加载程序时,首先第一个硬件看门狗启动,第一阶段执行完毕后进行一次喂狗操作,第一个硬件看门狗时间重置(即第一阶段对应的硬件看门狗结束工作,第二阶段对应的硬件看门狗开始工作),第二阶段执行完毕后再进行一次喂狗操作,第一个硬件看门狗关闭,第二个硬件看门狗启动,第三阶段执行完毕后进行一次喂狗操作,第二个硬件看门狗时间重置(即第三阶段对应的硬件看门狗结束工作,第四阶段对应的硬件看门狗开始工作),第四阶段执行完毕后再进行一次喂狗操作,第二个硬件看门狗关闭,第三个硬件看门狗启动,第五阶段执行完毕后再进行一次喂狗操作,第三个硬件看门狗关闭。
在上述实施例中,通过采用多个硬件看门狗来实现第一看门狗的功能,由于硬件看门狗的可靠性较软件看门狗而言更高,因此上述方式可以提高看门狗的可靠性,降低看门狗异常的风险,进而提高整个方案的可靠性。而针对引导加载程序中启动时间相同或者相近的多个阶段设置同一个硬件看门狗,可以减少硬件看门狗的数量,从而降低片上系统的电路复杂度。
S205:通过电源管理模块判断出第一看门狗超时未喂狗,重新向处理器核释放复位信号。
第一看门狗在超时未喂狗的情况下,可以向电源管理模块输出设定的信号,以使电源管理模块重新向处理器核释放复位信号,使得处理器核重新启动。
在本申请实施例中,所谓的超时未喂狗是指超出看门狗的看门狗超时时间,看门狗仍旧未被执行喂狗操作的情况。
在本申请实施例中,存储单元中可以存储有供处理器核加载的固件,这些固件中可以包括在引导加载程序之后启动的固件,而处理器核的启动过程中可以基于这些固件执行建立服务的过程。可以理解,对于一些服务而言,其在建立过程中还可以进行服务注册。
在本申请实施例中,电源管理模块还可以管理有第二看门狗。其中,第二看门狗可以是软件看门狗,也可以是硬件看门狗。第二看门狗用于对建立服务的过程进行监控,当建立服务的过程超时,即可触发电源管理模块释放复位信号,以使处理器核重新启动。
而基于上述片上系统的结构,本申请实施例所提供的片上系统的启动方法还可以包括:
处理器核在所述引导加载程序中运行环境初始化阶段执行完毕后,基于固件建立服务。
电源管理模块在引导加载程序中运行环境初始化阶段执行完毕后,指示第二看门狗对建立服务的过程进行监控。
处理器核在每一次服务建立完成后对第二看门狗执行一次喂狗操作。
电源管理模块响应于第二看门狗超时未喂狗,重新向处理器核释放复位信号。
可以理解,第二看门狗在超时未喂狗的情况下,可以向电源管理模块输出设定的信号,以使电源管理模块重新向处理器核释放复位信号,使得处理器核重新启动。
在本申请实施例的一些可选实施方式中,第二看门狗可以设置多个,且各第二看门狗具有不同的看门狗超时时间,并且配置各第二看门狗分别用于对不同的服务的建立过程进行监控。这样,考虑到了不同服务的建立过程的耗时往往存在较大差异,那么通过不同的第二看门狗来分别监控不同的服务的建立过程,就可以实现更精细化的监控,提高监控质量。
在本申请实施例中,电源管理模块还可以管理有第三看门狗。其中,第三看门狗可以是软件看门狗,也可以是硬件看门狗。第上看门狗用于对建立服务的时机进行监控。
在本申请实施例中,在引导加载程序中的运行环境初始化阶段执行完毕后,电源管理模块可以打开第三看门狗,并且响应于引导加载程序最后一个阶段执行完毕,且已执行建立服务的过程的情况下的喂狗操作,关闭第三看门狗;响应于第三看门狗超时未喂狗,重新向处理器核释放复位信号。
可以理解,在引导加载程序中的运行环境初始化阶段执行完毕后,处理器核即可建立相关的服务,第二看门狗打开。而在引导加载程序加载完毕后,且已执行建立服务的过程,即第二看门狗已打开,此时第三看门狗不再存在监控的价值,故可以关闭。
在本申请实施例中,在处理器核启动所需的服务建立完毕的情况下,处理器核还可以启动系统(例如操作系统、嵌入式系统等)。此时,电源管理模块可以指示第二看门狗对处理器核启动系统的过程进行监控。当处理器核启动系统完毕后,处理器核对第二看门狗进行一次喂狗操作。当第二看门狗超时未喂狗时,电源管理模块可以重新向处理器核释放复位信号。
可以理解的是,在本申请实施例中,对于释放复位信号后,处理器核重启仍旧不能正常启动的情况,可以将导致复位的阶段或者服务上报给片外的部件,例如片外的FPGA(Field Programmable Gate Array,现场可编程门阵列)等,同时,可以在后续的启动阶段跳过该导致复位的阶段或者服务。
在本申请实施例中,还可以结合RAS(故障处理故障恢复)服务来进一步提高片上系统启动过程的可靠性。
示例性的,可以在固件中启用RAS服务。可以理解,RAS服务有SEI(系统错误中断)和RAS中断两种,其中SEI信号上报功能开启更快,故在固件中可以仅开启SEI信号上报功能(SEI信号是处理器核的系统错误中断信号,不依靠芯片上的中断控制器部件),可以接收并处理RAS服务中通过SEI信号上报的错误。当然,在固件中也可以同时启用RAS服务SEI信号上报功能和RAS中断信号上报功能。
示例性的,还可以在处理器核启动所需的服务建立完毕的情况下,在引导加载程序中启用RAS服务。例如,在处理器核启动所需的服务建立完毕的情况下,引导加载程序可以启用RAS中断上报功能,并打开RAS的中断上报使能,可以接收并处理RAS服务中通过中断信号上报的错误。同时,引导加载程序也可以打开SEI信号上报功能,可以接收并处理RAS服务中通过SEI信号上报的错误。
示例性的,还可以在系统启动完毕后,在系统内启用RAS服务。例如,在系统内可以启用RAS中断上报功能,并打开RAS的中断上报使能,可以接收并处理RAS服务中通过中断信号上报的错误。同时,在系统内也可以打开SEI信号上报功能,可以接收并处理RAS服务中通过SEI信号上报的错误。
这样,通过在片上系统的启动过程中启用RAS服务,也可以实现启动过程的异常监测,提高片上系统的启动可靠性。
可以理解,在本申请实施例中,片上系统可以是但不限于微处理器。
本申请实施例所提供的片上系统及其启动方法,通过设置第一看门狗,并针对引导加载程序的各阶段分别设置对应的看门狗超时时间,并且配置处理器核在引导加载程序的每一阶段执行完毕后要执行一次喂狗操作,从而利用第一看门狗实现了对于引导加载程序的每一阶段的单独监控,在加载引导加载程序的任一阶段超时后即可触发复位,相比于传统的技术方案,上述实现方式可以在加载引导加载程序的各个小阶段超时后就触发复位,而不必等待整个启动过程超时后才复位,提高了复位效率。此外,通过上述实现方式,还可以定位到触发复位的具体阶段,从而为后续进行故障分析等工作提供信息支持。
为便于理解本申请实施例的方案,下面在上述实施例的基础上,以引导加载程序为U-Boot的情况为例,结合图3所示,为本申请做进一步示例说明。
S301:电源管理模块释放复位信号并打开第一看门狗。
S302:进入固件,根据需求建立SEI的RAS相关服务,即打开SEI信号上报功能(SEI信号是处理器核的系统错误中断信号,不依靠芯片上的中断控制器部件),可以接收并处理RAS服务中通过SEI信号上报的错误。
S303:处理器核建立运行环境,并完成第一看门狗的喂狗操作。
S304:处理器核根据芯片使用环境,开始对PCIE、DDR等其他片上部件完成初始化,并在步骤结束时对第一看门狗进行喂狗操作。
S305:完成运行环境的初始化,准备建立系统的相关服务时,打开第三看门狗。第三看门狗只计时一次。
S306:打开第二看门狗,需在固定周期内完成喂狗。关闭第一看门狗。
S307:第一看门狗关闭后,对第三看门狗进行喂狗。喂狗完成,第三看门狗结束。
S308:开始建立并注册系统相关服务;其中,服务可以包括电源管理服务、中断服务等。
S309:系统相关服务建立完成后,U-Boot启用RAS中断上报功能,及打开RAS的中断上报使能,可以接收并处理ras服务中通过中断信号上报的错误。U-Boot建立SEI的RAS相关服务,即打开SEI信号上报功能,可以接收并处理ras服务中通过SEI信号上报的错误。
S310:处理器核启动系统环境,定时对第二看门狗喂狗。
S311:系统启用RAS中断上报功能,及打开RAS的中断上报使能,可以接收并处理ras服务中通过中断信号上报的错误。系统建立SEI的RAS相关服务,即打开SEI信号上报功能,可以接收并处理ras服务中通过SEI信号上报的错误。
在上述过程中,任一看门狗超时未喂狗,则进行复位处理(即电源管理模块向处理器核释放复位信号,使处理器核重启)。
在上述过程中,RAS相关的错误上报,可以根据应用场景及错误上报内容进行相应处理。相关处理机制可根据RAS的相关定义进行设定,对此本申请不作限制。
基于同一发明构思,本申请实施例中还提供了两种片上系统的启动装置。请参阅图4和图5所示。应理解,装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块。具体地:
参见图4所示,装置400应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;装置400包括:
复位模块401,用于通过所述电源管理模块向所述处理器核释放复位信号,以使所述处理器核启动;所述处理器核的启动过程中包括加载所述引导加载程序;
监控模块402,用于通过所述电源管理模块指示第一看门狗对所述引导加载程序的加载时间进行监控;所述第一看门狗针对所述引导加载程序的各阶段分别设置有对应的看门狗超时时间,且所述处理器核在所述引导加载程序的每一阶段执行完毕后执行一次喂狗操作;
所述复位模块401还用于通过所述电源管理模块判断出所述第一看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
在本申请实施例的一种可行实施方式中,所述第一看门狗为软件看门狗,且所述第一看门狗响应于所述处理器核的喂狗操作,将所述喂狗操作所属阶段的下一阶段对应的看门狗超时时间更新为当前使用的看门狗超时时间。
在本申请实施例中,所述第一看门狗包括多个硬件看门狗,一个硬件看门狗对应所述引导加载程序的至少一个阶段,各所述硬件看门狗的看门狗超时时间设置为该硬件看门狗对应的阶段的看门狗超时时间;且各所述硬件看门狗响应于所述处理器核的喂狗操作,结束该喂狗操作所属阶段对应的硬件看门狗,并启动该喂狗操作所属阶段的下一阶段对应的硬件看门狗。
在本申请实施例的一种可行实施方式中,所述处理器核内还用于在加载所述引导加载程序之后加载固件;所述处理器核的启动过程中还包括基于所述固件执行的建立服务的过程;所述监控模块402,还用于在所述引导加载程序中运行环境初始化阶段执行完毕后,指示第二看门狗对所述建立服务的过程进行监控;所述复位模块401,还用于响应于所述第二看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
在本可行实施方式中,所述第二看门狗为多个,且各所述第二看门狗具有不同的看门狗超时时间,且各所述第二看门狗分别用于对不同的服务的建立过程进行监控。
在本可行实施方式中,所述监控模块402还用于在所述引导加载程序中运行环境初始化阶段执行完毕后,打开第三看门狗;以及用于响应于所述引导加载程序最后一个阶段执行完毕,且已执行建立服务的过程的情况下的喂狗操作,关闭所述第三看门狗;
所述复位模块401还用于响应于所述第三看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
参见图5所示,装置500应用于片上系统,应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;装置500包括:
启动模块501,用于控制所述处理器核响应于所述电源管理模块释放的复位信号启动;所述处理器核的启动过程中包括加载所述引导加载程序;
喂狗模块502,用于通过所述处理器核在所述引导加载程序的每一阶段执行完毕后对所述第一看门狗执行一次喂狗操作;其中:若所述第一看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
在本申请实施例的一种可行实施方式中,所述处理器核内还用于在加载所述引导加载程序之后加载固件;所述处理器核的启动过程中还包括基于所述固件执行的建立服务的过程;所述电源管理模块还管理有第二看门狗,所述第二看门狗在所述引导加载程序中运行环境初始化阶段执行完毕后打开,用于对所述建立服务的过程进行监控;
所述启动模块501还用于通过所述处理器核在所述引导加载程序中运行环境初始化阶段执行完毕后,基于所述固件建立服务;所述喂狗模块502还用于在每一次服务建立完成后对所述第二看门狗执行一次喂狗操作;其中:若所述第二看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
在本可行实施方式中,所述启动模块501还用于在所述处理器核启动所需的服务建立完毕的情况下,通过所述处理器核启动系统;所述第二看门狗还用于对所述处理器核启动系统的过程进行监控;
所述喂狗模块502还用于在启动完毕后,通过所述处理器核对所述第二看门狗执行一次喂狗操作。
需要理解的是,出于描述简洁的考量,部分方法实施例中描述过的内容在装置实施例中不再赘述。
基于同一发明构思,本申请实施例还提供了一种电子设备,其包括前述的片上系统。
可以理解,该电子设备还可以具有更多的部件,例如还可以具有与前述片上系统连接的存储单元、通信模组等部件,但不作为限制。
在本申请实施例中,电子设备可以是具有数据处理能力的设备,如手机、电脑、平板、服务器等。此外,电子设备也可以是具有数据处理能力的可独立制造与生产的器件,例如控制器、主机、显卡、处理器板卡等。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个电源管理模块或处理器核执行,以实现上述的片上系统的启动方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种片上系统的启动方法,其特征在于,所述方法应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述方法包括:
通过所述电源管理模块向所述处理器核释放复位信号,以使所述处理器核启动;所述处理器核的启动过程中包括加载所述引导加载程序;
通过所述电源管理模块指示第一看门狗对所述引导加载程序的加载时间进行监控;所述第一看门狗针对所述引导加载程序的各阶段分别设置有对应的看门狗超时时间,且所述处理器核在所述引导加载程序的每一阶段执行完毕后执行一次喂狗操作;
通过所述电源管理模块判断出所述第一看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
2.如权利要求1所述的方法,其特征在于,所述第一看门狗为软件看门狗,且所述第一看门狗响应于所述处理器核的喂狗操作,将所述喂狗操作所属阶段的下一阶段对应的看门狗超时时间更新为当前使用的看门狗超时时间。
3.如权利要求1所述的方法,其特征在于,所述第一看门狗包括多个硬件看门狗,一个硬件看门狗对应所述引导加载程序的至少一个阶段,各所述硬件看门狗的看门狗超时时间设置为该硬件看门狗对应的阶段的看门狗超时时间;
且各所述硬件看门狗响应于所述处理器核的喂狗操作,结束该喂狗操作所属阶段对应的硬件看门狗,并启动该喂狗操作所属阶段的下一阶段对应的硬件看门狗。
4.如权利要求1-3任一项所述的方法,其特征在于,所述处理器核内还用于在加载所述引导加载程序之后加载固件;所述处理器核的启动过程中还包括基于所述固件执行的建立服务的过程;所述方法还包括:
在所述引导加载程序中运行环境初始化阶段执行完毕后,指示第二看门狗对所述建立服务的过程进行监控;
响应于所述第二看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
5.如权利要求4所述的方法,其特征在于,所述第二看门狗为多个,且各所述第二看门狗具有不同的看门狗超时时间,且各所述第二看门狗分别用于对不同的服务的建立过程进行监控。
6.如权利要求4所述的方法,其特征在于,在所述引导加载程序中运行环境初始化阶段执行完毕后,所述方法还包括:
打开第三看门狗;
响应于所述引导加载程序最后一个阶段执行完毕,且已执行建立服务的过程的情况下的喂狗操作,关闭所述第三看门狗;
响应于所述第三看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
7.一种片上系统的启动方法,其特征在于,所述方法应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;所述方法包括:
所述处理器核响应于所述电源管理模块释放的复位信号启动;所述处理器核的启动过程中包括加载所述引导加载程序;
通过所述处理器核在所述引导加载程序的每一阶段执行完毕后对所述第一看门狗执行一次喂狗操作;其中:若所述第一看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
8.如权利要求7所述的方法,其特征在于,所述处理器核内还用于在加载所述引导加载程序之后加载固件;所述处理器核的启动过程中还包括基于所述固件执行的建立服务的过程;所述电源管理模块还管理有第二看门狗,所述第二看门狗在所述引导加载程序中运行环境初始化阶段执行完毕后打开,用于对所述建立服务的过程进行监控;
所述方法还包括:通过所述处理器核在所述引导加载程序中运行环境初始化阶段执行完毕后,基于所述固件建立服务,并在每一次服务建立完成后对所述第二看门狗执行一次喂狗操作;其中:若所述第二看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
9.如权利要求7或8所述的方法,其特征在于,在所述处理器核启动所需的服务建立完毕的情况下,所述方法还包括:
通过所述处理器核启动系统;所述第二看门狗还用于对所述处理器核启动系统的过程进行监控;
在启动完毕后,通过所述处理器核对所述第二看门狗执行一次喂狗操作。
10.一种片上系统的启动装置,其特征在于,所述装置应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述装置包括:
复位模块,用于通过所述电源管理模块向所述处理器核释放复位信号,以使所述处理器核启动;所述处理器核的启动过程中包括加载所述引导加载程序;
监控模块,用于通过所述电源管理模块指示第一看门狗对所述引导加载程序的加载时间进行监控;所述第一看门狗针对所述引导加载程序的各阶段分别设置有对应的看门狗超时时间,且所述处理器核在所述引导加载程序的每一阶段执行完毕后执行一次喂狗操作;
所述复位模块还用于通过所述电源管理模块判断出所述第一看门狗超时未喂狗,重新向所述处理器核释放所述复位信号。
11.一种片上系统的启动装置,其特征在于,所述装置应用于片上系统,所述片上系统包括处理器核和电源管理模块,所述处理器核和所述电源管理模块之间通信连接,所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;所述装置包括:
启动模块,用于控制所述处理器核响应于所述电源管理模块释放的复位信号启动;所述处理器核的启动过程中包括加载所述引导加载程序;
喂狗模块,用于通过所述处理器核在所述引导加载程序的每一阶段执行完毕后对所述第一看门狗执行一次喂狗操作;其中:若所述第一看门狗超时未喂狗,则触发所述电源管理模块重新向所述处理器核释放所述复位信号。
12.一种片上系统,其特征在于,包括处理器核和电源管理模块,且所述处理器核与所述电源管理模块通信连接;所述处理器核用于加载引导加载程序;所述电源管理模块管理有第一看门狗,所述第一看门狗针对所述引导加载程序的各阶段分别设置对应的看门狗超时时间,用于对所述引导加载程序的加载过程的各个阶段进行监控;
所述电源管理模块用于执行如权利要求1至6任一项所述的片上系统的启动方法;
所述处理器核用于执行如权利要求7至9任一项所述的片上系统的启动方法。
13.一种电子设备,其特征在于,包括如权利要求12所述的片上系统。
CN202311108674.9A 2023-08-29 2023-08-29 片上系统的启动方法、装置、片上系统及电子设备 Pending CN117055965A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311108674.9A CN117055965A (zh) 2023-08-29 2023-08-29 片上系统的启动方法、装置、片上系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311108674.9A CN117055965A (zh) 2023-08-29 2023-08-29 片上系统的启动方法、装置、片上系统及电子设备

Publications (1)

Publication Number Publication Date
CN117055965A true CN117055965A (zh) 2023-11-14

Family

ID=88660800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311108674.9A Pending CN117055965A (zh) 2023-08-29 2023-08-29 片上系统的启动方法、装置、片上系统及电子设备

Country Status (1)

Country Link
CN (1) CN117055965A (zh)

Similar Documents

Publication Publication Date Title
CN101814035B (zh) 允许快速平台重启的方法和系统
KR101626433B1 (ko) 시스템 변경 후 컴퓨팅 장치의 적절한 동작을 확인하는 방법 및 시스템
US10866623B2 (en) Information handling system and method to detect and recover from no power/no post failures
US20110283274A1 (en) Firmware image update and management
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
US11704198B2 (en) Method and apparatus for providing recovery from a computing device boot up error
CN101593120A (zh) 带外升级方法和系统
CN109976886B (zh) 内核远程切换方法及装置
CN111240753A (zh) 引导程序的加载方法、存储介质及嵌入式终端
CN111708652A (zh) 一种故障修复方法及装置
CN115237644A (zh) 系统故障处理方法、中央运算单元以及车辆
EP2645239A1 (en) Electronic apparatus and booting method
CN116266150A (zh) 一种业务恢复方法、数据处理单元及相关设备
CN111090546A (zh) 一种操作系统重启方法、装置、设备及可读存储介质
CN108829442B (zh) 程序启动方法及装置
US20160179626A1 (en) Computer system, adaptable hibernation control module and control method thereof
CN115904793B (zh) 一种基于多核异构系统的内存转存方法、系统及芯片
US10768940B2 (en) Restoring a processing unit that has become hung during execution of an option ROM
CN117055965A (zh) 片上系统的启动方法、装置、片上系统及电子设备
CN115658152A (zh) 固件升级方法、固件、电子设备和计算机可读存储介质
CN104978208B (zh) 一种热重启方法及其装置
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、系统及介质
CN114090329A (zh) 一种全卸载架构下的服务器重启方法及相关设备
WO2016145774A1 (zh) 电子设备的启动方法和装置
CN113867753A (zh) 一种服务器的固件更新方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination