CN113672448A - BootLoader启动流程的监控方法、装置及存储介质 - Google Patents
BootLoader启动流程的监控方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113672448A CN113672448A CN202110767666.XA CN202110767666A CN113672448A CN 113672448 A CN113672448 A CN 113672448A CN 202110767666 A CN202110767666 A CN 202110767666A CN 113672448 A CN113672448 A CN 113672448A
- Authority
- CN
- China
- Prior art keywords
- target function
- function module
- execution
- bootloader
- process information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 171
- 230000008569 process Effects 0.000 title claims abstract description 131
- 238000012544 monitoring process Methods 0.000 title claims abstract description 18
- 230000006870 function Effects 0.000 claims description 177
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012806 monitoring device Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract 1
- 238000005192 partition Methods 0.000 description 13
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种BootLoader启动流程的监控方法、装置及存储介质,方法包括:在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。由此,可以实现获取BootLoader启动过程中,BootLoader包含的各个目标功能模块,也即各个阶段的执行过程信息,这能够为实现有针对性地对BootLoader的启动过程进行优化提供有效信息,还能够在BootLoader启动失败的情况下,有效定位故障。
Description
技术领域
本申请涉及嵌入式设备领域,尤其涉及一种BootLoader启动流程的监控方法、装置及存储介质。
背景技术
BootLoader是在嵌入式设备的操作系统运行之前执行的一段引导程序,通过执行BootLoader可以初始化硬件设备,建立内存空间的映射表,从而建立适当的系统软硬件环境,为嵌入式设备的处理器最终调用操作系统内核做好准备。
通常来说,BootLoader的启动过程包括两大阶段,每一阶段又包括多个子阶段。然而,现有技术中并没有任何有效的方式能够实现统计BootLoader各个阶段(或子阶段)的执行耗时,也没有任何有效的方法能够实现在BootLoader启动失败的情况下,针对BootLoader的启动过程中涉及的多个阶段(或子阶段)进行故障定位。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种BootLoader启动流程的监控方法、装置及存储介质。
第一方面,本申请提供了一种BootLoader启动流程的监控方法,所述方法包括:
在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;
当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。
可选的,所述执行过程信息包括:开始执行时间、结束执行时间;
所述获取所述BootLoader包含的目标功能模块的执行过程信息,包括:
在所述BootLoader包含的目标功能模块开始执行时,获取系统当前时间作为所述目标功能模块的开始执行时间;
在所述BootLoader包含的目标功能模块成功执行完成时,获取系统当前时间作为所述目标功能模块的结束执行时间。
可选的,所述执行过程信息包括:执行耗时;
所述获取所述BootLoader包含的目标功能模块的执行过程信息,包括:
在所述BootLoader包含的目标功能模块开始执行时,将系统计时器归零并启动所述系统计时器;
在所述BootLoader包含的目标功能模块成功执行完成时,获取所述系统计时器的当前计时作为所述目标功能模块的执行耗时。
可选的,所述触发信号用于指示所述BootLoader成功启动完成,所述根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态,包括:
根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行耗时;
比较所述执行耗时与所述目标功能模块对应的超时阈值;
在比较得出所述执行耗时与所述超时阈值之间的大小关系满足第一预置条件时,确定所述目标功能模块的执行状态为正常执行;在比较得出所述执行耗时与所述超时阈值之间的大小关系满足第二预置条件时,则确定所述目标功能模块的执行状态为超时执行。
可选的,所述触发信号用于指示所述BootLoader启动失败,所述根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态,包括:
生成用于指示所述BootLoader启动失败的指示消息,将所述指示消息发送至外部设备;
接收所述外部设备基于所述指示消息发送的数据读取请求,将已获取的所述目标功能模块的执行过程信息发送至所述外部设备,以使所述外部设备根据接收到的所述执行过程信息确定所述目标功能模块的执行状态。
第二方面,本申请提供了一种BootLoader启动流程的监控装置,所述装置包括:
信息获取模块,用于在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;
状态确定模块,用于当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。
可选的,所述执行过程信息包括:开始执行时间、结束执行时间;
所述信息获取模块包括:
第一信息获取子模块,用于在所述BootLoader包含的目标功能模块开始执行时,获取系统当前时间作为所述目标功能模块的开始执行时间;
第二信息获取子模块,用于在所述BootLoader包含的目标功能模块成功执行完成时,获取系统当前时间作为所述目标功能模块的结束执行时间。
可选的,所述执行过程信息包括:执行耗时;
所述信息获取模块包括:
计时器启动子模块,用于在所述BootLoader包含的目标功能模块开始执行时,将系统计时器归零并启动所述系统计时器;
第三信息获取子模块,用于在所述BootLoader包含的目标功能模块成功执行完成时,获取所述系统计时器的当前计时作为所述目标功能模块的执行耗时。
第三方面,提供了一种嵌入式设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的BootLoader启动流程的监控方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的BootLoader启动流程的监控方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,通过在BootLoader启动过程中,获取BootLoader包含的目标功能模块的执行过程信息,当检测到BootLoader的触发信号时,根据已获取的目标功能模块的执行过程信息确定目标功能模块的执行状态,实现了获取BootLoader启动过程中,BootLoader包含的各个目标功能模块,也即各个阶段的执行过程信息,这能够实现以BootLoader启动流程所包含的各个阶段为粒度,有针对性地对BootLoader的启动流程进行优化,从而为提升嵌入式设备的开机速度提供了有效信息;进一步的,即使BootLoader启动失败,也能够已获取的执行过程信息确定BootLoader启动过程中,出现异常的阶段,从而为故障定位提供有效信息。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种BootLoader启动流程的监控方法的流程示意图;
图2为本申请实施例提供的另一种BootLoader启动流程的监控方法的流程示意图;
图3为本申请实施例提供的再一种BootLoader启动流程的监控方法的流程示意图;
图4为本申请实施例提供的一种EMMC中新增分区的示意图;
图5为本申请实施例提供的一种BootLoader启动流程的监控装置的流程示意图;
图6为本申请实施例提供的一种嵌入式设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种BootLoader启动流程的监控方法的流程示意图。作为一个实施例,可方法可应用于嵌入式设备,比如智能电视上,如图1所示,包括以下步骤:
步骤101、在BootLoader启动过程中,获取BootLoader包含的目标功能模块的执行过程信息。
通常情况下,BootLoader的启动过程包括两个阶段,其中,第一阶段通常包括以下子阶段:硬件设备初始化、为加载BootLoader的第二阶段准备RAM空间、拷贝BootLoader的第二阶段到RAM空间中、设置堆栈、跳转到第二阶段的入口点;第二阶段通常包括以下子阶段:初始化本阶段要使用到的硬件设备、检测系统内存映射、将kernel映像和根文件系统映像从Flash中读到RAM空间、为内核设置启动参数、调用内核。进一步的,每一子阶段又可被划分为多个子单元阶段,比如硬件设备初始化包括:控制器初始化、寄存器初始化等。由此可见,BootLoader的启动过程包括多个阶段,每一阶段可包括多个子阶段,每一子阶段又可包括多个子单元阶段。
在应用中,可将BootLoader启动过程中的每一个子单元阶段封装为一个功能模块,如此,BootLoader则包含多个功能模块,BootLoader的启动流程则是指每一个功能模块按照顺序启动的过程。
进一步的,本申请实施例中,可从BootLoader包含的多个功能模块中确定一个或多个目标功能模块,在BootLoader启动过程中,获取该一个或多个目标功能模块中每个目标功能模块的执行过程信息。可选的,可由用户事先将BootLoader包含的每一功能模块或者部分功能模块设置为目标功能模块。此外,用户还可根据实际业务需求,动态设置目标功能模块,这也就意味着,目标功能模块是可变的,是可以根据用户需求进行设置的。在同一BootLoader,不同次的启动过程中,目标功能模块可以是不同的,本申请实施例对此不做限制。
作为一个可选的实施例,目标功能模块的执行过程信息可以包括:目标功能模块的开始执行时间和结束执行时间。至于是如何实现在BootLoader启动过程中,获取BootLoader包含的目标功能模块的开始执行时间和结束执行时间的,在下文中通过图2所示实施例进行说明,这里先不做详述。
作为另一个可选的实施例,目标功能模块的执行过程信息可以包括:目标功能模块的执行耗时。至于是如何实现在BootLoader启动过程中,获取BootLoader包含的目标功能模块的执行耗时的,在下文中通过图3所示实施例进行说明,这里先不做详述。
本申请实施例中,在获取BootLoader包含的目标功能模块的执行过程信息后,可将获取到的执行过程信息写入指定存储介质。可选的,指定存储介质可以为嵌入式设备的EMMC(Embedded Multi Media Card,内嵌式多媒体存储器)中的一个分区。例如,如图4所示,为本申请实施例提供的一种EMMC中新增分区的示意图。EMMC中包含用户分区(userpartition)、系统分区(system partition)、引导分区(boot partition)等分区,特别地,本申请实施例中在EMMC中新增了一个分区,启动日志分区(bootlog partition),专用于存储BootLoader包含的目标功能模块的执行过程信息。可以理解的是,EMMC具有容量大、读写速度快、兼容性好等优点,因此,将获取到的执行过程信息写入嵌入式设备的EMMC,可以提高执行过程信息存储的稳定性,并提高后续从EMMC中获取执行过程信息的速度。
步骤102、当检测到BootLoader的触发信号时,根据已获取的目标功能模块的执行过程信息确定目标功能模块的执行状态。
作为一个可选的实施例,上述触发信号可以用于指示BootLoader成功启动。在BootLoader成功启动的情况下,系统也将正常启动,基于此,在步骤102中,当检测到BootLoader成功启动时,可获取指定存储介质中已存储的各个目标功能模块的执行过程信息,进一步的,根据各个目标功能模块的执行过程信息确定各个目标功能模块的执行状态。具体的,可以通过通过嵌入式设备中已安装的应用程序进行获取。
具体的,若执行过程信息包括目标功能模块的开始执行时间和结束执行时间,则针对每一目标功能模块,通过下述公式(一)确定该目标功能模块的执行耗时:
T=t1-t2 公式(一)
其中,T表示执行耗时,t1表示结束执行时间,t2表示开始执行时间。
然后,针对每一目标功能模块,比较该目标功能模块的执行耗时与该目标功能模块对应的超时阈值,在比较得出执行耗时与超时阈值之间的大小关系满足第一预置条件,例如执行耗时小于等于超时阈值时,则意味着该目标功能模块的执行耗时在预期范围内,因此可确定该目标功能模块的执行状态为正常执行;反之,在比较得出执行耗时与超时阈值之间的大小关系满足第二预置条件,例如执行耗时大于超时阈值时,则意味着该目标功能模块的执行耗时超出了预期范围,因此可确定该功能模块的执行状态为超时执行。需要说明的是,在应用中,可根据实际情况为不同的目标功能模块设置不同的超时阈值。
若执行过程信息包括目标功能模块的执行耗时,则可直接针对每一目标功能模块,通过比较该目标功能模块的执行耗时与该目标功能模块对应的超时阈值来确定该目标功能模块的执行状态。
此外,在应用中,嵌入式设备还可通过应用程序将获取到的BootLoader包含的各个目标功能模块的执行过程信息发送给外部设备,比如应用程序对应的云平台,由该外部设备根据接收到的BootLoader包含的各个目标功能模块的执行过程信息确定各目标功能模块的执行状态。
作为另一个可选的实施例,上述触发信号用于指示BootLoader启动失败。在BootLoader启动失败的情况下,系统将无法正常启动,此时,则无法按照上述实施例中的描述,通过嵌入式设备中已安装的应用程序获取指定存储介质中已存储的各个目标功能模块的执行状态信息。此时,可借助外部的诊断工具来获取指定存储介质中存储的执行过程信息。需要说明的是,由于BootLoader启动失败,因此,指定存储介质中存储的有可能是BootLoader包含的部分目标功能模块的执行过程信息。
具体的,在步骤102中,在检测到BootLoader启动失败时,生成用于指示BootLoader启动失败的指示消息,并将该指示消息发送给外部设备。
作为一个可选的实现方式,外部设备在接收到指示消息后,可自动调用诊断工具向嵌入式设备发送数据读取请求;作为另一个可选的实现方式,外部设备在接收到指示消息后,可向用户发送对应的提醒消息,以通知用户BootLoader启动失败,进而由用户手动操控外部设备调用诊断工具向嵌入式设备发送数据读取请求。可选的,上述提醒消息的形式包括但不限于:声音信号、光信号、手机短信、电子邮件等。
嵌入式设备接收到上述数据读取请求后,将指定存储介质中已存储的执行过程信息发送至外部设备,以使外部设备根据接收到的执行过程信息确定BootLoader包含的各个目标功能模块的执行状态。
作为一个可选的实现方式,外部设备可首先根据接收到的执行过程信息确定各个目标功能模块的执行状态是执行成功还是执行错误,其中,若外部设备接收到某一目标功能模块的执行过程信息,则可确定该目标功能模块的执行状态是执行成功;反之,若外部设备未接收到某一目标功能模块的执行过程信息,则可确定该目标功能模块的执行状态是执行错误。
进一步的,外部设备可针对执行成功的目标功能模块,根据接收到的该目标功能模块的执行过程信息确定该目标功能模块是否超时执行,具体是如何根据接收到的该目标功能模块的执行过程信息确定该目标功能模块是否超时执行的,可参见上述相关描述,这里不再赘述。
本发明实施例提供的技术方案,通过在BootLoader启动过程中,获取BootLoader包含的目标功能模块的执行过程信息,当检测到BootLoader的触发信号时,根据已获取的目标功能模块的执行过程信息确定目标功能模块的执行状态,实现了获取BootLoader启动过程中,BootLoader包含的各个目标功能模块,也即各个阶段的执行过程信息,这能够实现以BootLoader启动流程所包含的各个阶段为粒度,有针对性地对BootLoader的启动流程进行优化,从而为提升嵌入式设备的开机速度提供了有效信息;进一步的,即使BootLoader启动失败,也能够已获取的执行过程信息确定BootLoader启动过程中,出现异常的阶段,从而为故障定位提供有效信息。
由上述描述可知,作为一个实施例,上述执行过程信息可包括:开始执行时间、结束执行时间。以下则对该实施例的具体实现进行说明:
在该实施例中,可预先在每一目标功能模块的代码行开始位置处插入第一定制代码,该第一定制代码用于指示获取系统当前时间,并将获取到的系统当前时间作为该目标功能模块的开始执行时间写入指定存储介质,以及在每一目标功能模块的代码行结束位置处插入第二定制代码,该第二定制代码用于指示获取系统当前时间,并将获取到的系统当前时间作为该目标功能模块的结束执行时间写入指定存储介质。
基于此,在上述步骤101中,如图2所示,在BootLoader包含的每一个目标功能模块启动过程中,将首先执行插入至该目标功能模块的代码行开始位置处的第一定制代码,以实现获取系统当前时间,并将获取到的系统当前时间作为该目标功能模块的开始执行时间写入指定存储介质。
可以理解的是,在正常情况下,执行完第一定制代码后,将继续执行该目标功能模块中原本的功能代码,直至执行完原本的功能代码后,将执行插入至该目标功能模块的代码行结束位置处的第二定制代码,以实现获取系统当前时间,并将获取到的系统当前时间作为该目标功能模块的结束执行时间写入指定存储介质。
此外,如图2所示,若某一目标功能模块无法正常启动,则结束BootLoader启动流程,BootLoader启动失败,此时将不会执行插入至该目标功能模块的代码行结束位置处的第二定制代码,从而也就无法将该目标功能模块的结束执行时间写入指定存储介质。
在本申请实施例中,若无法将目标功能模块的结束执行时间写入指定存储介质,意味着无法获取该目标功能模块的执行过程信息。
通过图2所示实施例,实现了获取BootLoader启动过程中,各个阶段的开始执行时间和结束执行时间,这能够为优化BootLoader的启动过程,优化嵌入式设备的开机速度提供有效信息。
由上述描述可知,作为另一个实施例,上述执行过程信息可包括:执行耗时。以下则对该实施例的具体实现进行说明:
在该实施例中,可预先在每一目标功能模块的代码行开始位置处插入第三定制代码,该第三定制代码用于指示将计时器归零并启动计时器,以及预先在每一目标功能模块的代码行结束位置处插入第四定制代码,该第四定制代码用于指示获取计时器的当前计时,并将获取到的当前计时作为该目标功能模块的执行耗时写入指定存储介质。
基于此,在步骤101中,如图3所示,在BootLoader包含的每一个目标功能模块启动过程中,将首先执行插入至该目标功能模块的代码行开始位置处的第三定制代码,以实现将计时器归零并启动计时器。
可以理解的是,在正常情况下,执行完第三定制代码后,将继续执行该目标功能模块中原本的功能代码,直至执行完原本的功能代码后,将执行插入至该目标功能模块的代码行结束位置处的第四定制代码,以实现获取计时器的当前计时,并将获取到的当前计时作为该目标功能模块的执行耗时写入指定存储介质。
此外,如图3所示,若某一目标功能模块无法正常启动,则结束BootLoader启动流程,BootLoader启动失败,此时将不会执行插入至该目标功能模块的代码行结束位置处的第四定制代码,从而也就无法将该目标功能模块的执行耗时写入指定存储介质。
通过图3所示流程,实现了获取BootLoader启动过程中,各个阶段的执行耗时,这能够为优化BootLoader的启动过程,优化嵌入式设备的开机速度提供有效信息。
图5为本申请实施例提供的一种BootLoader启动流程的监控装置的流程示意图。如图5所示,包括:信息获取模块51、状态确定模块52。
其中,信息获取模块51,用于在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;
状态确定模块52,用于当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。
可选的,所述执行过程信息包括:开始执行时间、结束执行时间;
所述信息获取模块51包括(图中未示出):
第一信息获取子模块,用于在所述BootLoader包含的目标功能模块开始执行时,获取系统当前时间作为所述目标功能模块的开始执行时间;
第二信息获取子模块,用于在所述BootLoader包含的目标功能模块成功执行完成时,获取系统当前时间作为所述目标功能模块的结束执行时间。
可选的,所述执行过程信息包括:执行耗时;
所述信息获取模块51包括(图中未示出):
计时器启动子模块,用于在所述BootLoader包含的目标功能模块开始执行时,将系统计时器归零并启动所述系统计时器;
第三信息获取子模块,用于在所述BootLoader包含的目标功能模块成功执行完成时,获取所述系统计时器的当前计时作为所述目标功能模块的执行耗时。
可选的,所述状态确定模块52包括(图中未示出):
耗时确定子模块,用于在所述触发信息用于指示所述BootLoader成功启动完成时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行耗时;
第一比较子模块,用于比较所述执行耗时与所述目标功能模块对应的超时阈值;
第一确定子模块,用于在比较得出所述执行耗时与所述超时阈值之间的大小关系满足第一预置条件时,确定所述目标功能模块的执行状态为正常执行;在比较得出所述执行耗时与所述超时阈值之间的大小关系满足第二预置条件时,则确定所述目标功能模块的执行状态为超时执行。
可选的,所述状态确定模块52包括(图中未示出):
消息生成子模块,用于在所述触发信号用于指示所述BootLoader启动失败时,生成用于指示所述BootLoader启动失败的指示消息;
消息发送子模块,用于将所述指示消息发送至外部设备;
请求接收子模块,用于接收所述外部设备基于所述指示消息发送的数据读取请求;
信息发送子模块,用于将已获取的所述目标功能模块的执行过程信息发送至所述外部设备,以使所述外部设备根据接收到的所述执行过程信息确定所述目标功能模块的执行状态。
如图6所示,本申请实施例提供提供了一种嵌入式设备,包括处理器611、通信接口612、存储器613和通信总线614,其中,处理器611,通信接口612,存储器613通过通信总线614完成相互间的通信,
存储器613,用于存放计算机程序;
在本申请一个实施例中,处理器611,用于执行存储器613上所存放的程序时,实现前述任意一个方法实施例提供的一种BootLoader启动流程的监控方法,包括:
在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;
当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的一种BootLoader启动流程的监控方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种BootLoader启动流程的监控方法,其特征在于,所述方法包括:
在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;
当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。
2.根据权利要求1所述的方法,其特征在于,所述执行过程信息包括:开始执行时间、结束执行时间;
所述获取所述BootLoader包含的目标功能模块的执行过程信息,包括:
在所述BootLoader包含的目标功能模块开始执行时,获取系统当前时间作为所述目标功能模块的开始执行时间;
在所述BootLoader包含的目标功能模块成功执行完成时,获取系统当前时间作为所述目标功能模块的结束执行时间。
3.根据权利要求1所述的方法,其特征在于,所述执行过程信息包括:执行耗时;
所述获取所述BootLoader包含的目标功能模块的执行过程信息,包括:
在所述BootLoader包含的目标功能模块开始执行时,将系统计时器归零并启动所述系统计时器;
在所述BootLoader包含的目标功能模块成功执行完成时,获取所述系统计时器的当前计时作为所述目标功能模块的执行耗时。
4.根据权利要求1~3任一所述的方法,其特征在于,所述触发信号用于指示所述BootLoader成功启动完成,所述根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态,包括:
根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行耗时;
比较所述执行耗时与所述目标功能模块对应的超时阈值;
在比较得出所述执行耗时与所述超时阈值之间的大小关系满足第一预置条件时,确定所述目标功能模块的执行状态为正常执行;在比较得出所述执行耗时与所述超时阈值之间的大小关系满足第二预置条件时,则确定所述目标功能模块的执行状态为超时执行。
5.根据权利要求1~3任一所述的方法,其特征在于,所述触发信号用于指示所述BootLoader启动失败,所述根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态,包括:
生成用于指示所述BootLoader启动失败的指示消息,将所述指示消息发送至外部设备;
接收所述外部设备基于所述指示消息发送的数据读取请求,将已获取的所述目标功能模块的执行过程信息发送至所述外部设备,以使所述外部设备根据接收到的所述执行过程信息确定所述目标功能模块的执行状态。
6.一种BootLoader启动流程的监控装置,其特征在于,所述装置包括:
信息获取模块,用于在BootLoader启动过程中,获取所述BootLoader包含的目标功能模块的执行过程信息;
状态确定模块,用于当检测到所述BootLoader的触发信号时,根据已获取的所述目标功能模块的执行过程信息确定所述目标功能模块的执行状态。
7.根据权利要求6所述的装置,其特征在于,所述执行过程信息包括:开始执行时间、结束执行时间;
所述信息获取模块包括:
第一信息获取子模块,用于在所述BootLoader包含的目标功能模块开始执行时,获取系统当前时间作为所述目标功能模块的开始执行时间;
第二信息获取子模块,用于在所述BootLoader包含的目标功能模块成功执行完成时,获取系统当前时间作为所述目标功能模块的结束执行时间。
8.根据权利要求6所述的装置,其特征在于,所述执行过程信息包括:执行耗时;
所述信息获取模块包括:
计时器启动子模块,用于在所述BootLoader包含的目标功能模块开始执行时,将系统计时器归零并启动所述系统计时器;
第三信息获取子模块,用于在所述BootLoader包含的目标功能模块成功执行完成时,获取所述系统计时器的当前计时作为所述目标功能模块的执行耗时。
9.一种嵌入式设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一项所述的BootLoader启动流程的监控方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的BootLoader启动流程的监控方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767666.XA CN113672448A (zh) | 2021-07-07 | 2021-07-07 | BootLoader启动流程的监控方法、装置及存储介质 |
US18/576,380 US20240330006A1 (en) | 2021-07-07 | 2022-05-24 | Bootloader startup procedure monitoring method and apparatus, embedded device, and storage medium |
PCT/CN2022/094675 WO2023279875A1 (zh) | 2021-07-07 | 2022-05-24 | Bootloader启动流程的监控方法、装置、嵌入式设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110767666.XA CN113672448A (zh) | 2021-07-07 | 2021-07-07 | BootLoader启动流程的监控方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672448A true CN113672448A (zh) | 2021-11-19 |
Family
ID=78538858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110767666.XA Pending CN113672448A (zh) | 2021-07-07 | 2021-07-07 | BootLoader启动流程的监控方法、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240330006A1 (zh) |
CN (1) | CN113672448A (zh) |
WO (1) | WO2023279875A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023279875A1 (zh) * | 2021-07-07 | 2023-01-12 | 深圳Tcl新技术有限公司 | Bootloader启动流程的监控方法、装置、嵌入式设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360328A (zh) * | 2011-09-29 | 2012-02-22 | 用友软件股份有限公司 | 程序监控装置和程序监控方法 |
CN107992397A (zh) * | 2017-12-21 | 2018-05-04 | 联想(北京)有限公司 | Bios程序启动监控方法以及电子设备 |
CN109542744A (zh) * | 2018-11-19 | 2019-03-29 | Oppo广东移动通信有限公司 | 检测终端开机异常问题的方法、装置、存储介质及终端 |
CN109753371A (zh) * | 2017-11-06 | 2019-05-14 | 华为技术有限公司 | 一种i/o阻塞检测方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009015435A (ja) * | 2007-07-02 | 2009-01-22 | Nippon Telegr & Teleph Corp <Ntt> | 異常検出方法及び処理装置 |
CN103491248B (zh) * | 2013-09-16 | 2016-01-20 | 华为技术有限公司 | 一种低电量开机的方法及用户设备 |
CN109710320B (zh) * | 2018-12-11 | 2022-03-15 | 中国航空工业集团公司西安航空计算技术研究所 | 一种两级驱动的启动引导BootLoader方法 |
CN111694340B (zh) * | 2020-06-05 | 2023-08-18 | 浪潮电子信息产业股份有限公司 | 一种PSU BootLoader自动测试治具及方法 |
CN113672448A (zh) * | 2021-07-07 | 2021-11-19 | 深圳Tcl新技术有限公司 | BootLoader启动流程的监控方法、装置及存储介质 |
-
2021
- 2021-07-07 CN CN202110767666.XA patent/CN113672448A/zh active Pending
-
2022
- 2022-05-24 US US18/576,380 patent/US20240330006A1/en active Pending
- 2022-05-24 WO PCT/CN2022/094675 patent/WO2023279875A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360328A (zh) * | 2011-09-29 | 2012-02-22 | 用友软件股份有限公司 | 程序监控装置和程序监控方法 |
CN109753371A (zh) * | 2017-11-06 | 2019-05-14 | 华为技术有限公司 | 一种i/o阻塞检测方法、装置及设备 |
CN107992397A (zh) * | 2017-12-21 | 2018-05-04 | 联想(北京)有限公司 | Bios程序启动监控方法以及电子设备 |
CN109542744A (zh) * | 2018-11-19 | 2019-03-29 | Oppo广东移动通信有限公司 | 检测终端开机异常问题的方法、装置、存储介质及终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023279875A1 (zh) * | 2021-07-07 | 2023-01-12 | 深圳Tcl新技术有限公司 | Bootloader启动流程的监控方法、装置、嵌入式设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240330006A1 (en) | 2024-10-03 |
WO2023279875A1 (zh) | 2023-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080082814A1 (en) | Electronic system with nand flash memory storing boot code and highly reliable boot up method | |
US20040158702A1 (en) | Redundancy architecture of computer system using a plurality of BIOS programs | |
EP2375323A1 (en) | Firmware image update and management | |
US11314665B2 (en) | Information processing system, information processing device, BIOS updating method for information processing device, and BIOS updating program for information processing device | |
US10445503B2 (en) | Secure persistent software updates | |
US20090271660A1 (en) | Motherboard, a method for recovering the bios thereof and a method for booting a computer | |
EP2798428B1 (en) | Apparatus and method for managing operation of a mobile device | |
CN108345464A (zh) | 一种安卓系统的启动方法及安卓车机 | |
CN115113905A (zh) | 固件升级方法和固件升级装置 | |
CN113672448A (zh) | BootLoader启动流程的监控方法、装置及存储介质 | |
EP4237937A1 (en) | Pushing a firmware update patch to a computing device via an out-of-band path | |
JP2005222366A (ja) | 自動復帰方法/プログラム/プログラム記録媒体、処理装置 | |
US10768940B2 (en) | Restoring a processing unit that has become hung during execution of an option ROM | |
CN110688130A (zh) | 物理机部署方法、装置、可读存储介质及电子设备 | |
CN106130815B (zh) | 板级测试方法及装置 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
CN114237722A (zh) | 一种系统的启动方法、装置、设备及工程车辆 | |
CN109491947B (zh) | 一种pcie外接卡热移除信息的发送方法及相关装置 | |
CN104035784A (zh) | 一种设备启动系统及方法 | |
CN109684134B (zh) | 用于在多个设备间快速部署固件设定的方法及服务器 | |
CN114064133A (zh) | 一种硬件信息处理方法、装置及存储系统 | |
JP6898527B2 (ja) | 電子装置を介したオペレーティングシステムの修復 | |
US10592329B2 (en) | Method and electronic device for continuing executing procedure being aborted from physical address where error occurs | |
CN107450894B (zh) | 通知开机阶段的方法及服务器系统 | |
CN109783150A (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 |