Device starting method and device, computer device, storage medium and program product

By initializing and running the second bootloader based on the first bootloader during device startup, and loading the GBL program, the GBL startup framework adaptation problem is solved, the startup speed and stability of the Android system are improved, and the requirements for Android version upgrades are met.

CN122195518APending Publication Date: 2026-06-12XIAMEN UNISOC TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
XIAMEN UNISOC TECH CO LTD
Filing Date
2026-03-13
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

How to adapt the bootloader of the GBL boot framework to improve the boot speed and stability of the Android system and meet the requirements of Android version upgrades.

Method used

The system initializes the resources of the device to be started based on the first bootloader, obtains boot information, runs the second bootloader to execute the device initialization process, and loads the GBL program to start the device after completion. The pre-bootloader of the GBL program is completed in advance.

🎯Benefits of technology

The GBL program was able to run normally, meet the Android version upgrade requirements, improve the flexibility and reliability of device startup, and optimize the GBL program through performance evaluation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122195518A_ABST
    Figure CN122195518A_ABST
Patent Text Reader

Abstract

The application relates to a device starting method and device, a computer device, a storage medium and a program product. The method comprises the following steps: initializing the resources of a to-be-started device based on a first boot loader; acquiring starting information of the to-be-started device in the case that the resource initialization of the to-be-started device is completed; running a second boot loader to execute a device initialization process of the to-be-started device according to the starting information; and loading a GBL program to start the to-be-started device based on the GBL program in the case that the device initialization process is completed, so that the pre-sequence boot loader of the GBL program can be completed in advance before the GBL program is loaded, the GBL program can be normally run, the intelligent device can be started based on the GBL, and the starting process is optimized, and the performance, safety and user experience of the device are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of device startup technology, and in particular to a device startup method, apparatus, computer device, storage medium, and program product. Background Technology

[0002] With the rapid development of mobile computing and IoT technologies, embedded systems, especially smart devices based on the Android operating system, have become a core component of modern digital life. During the startup process of these smart devices, the bootloader, as a crucial bridge connecting hardware initialization and operating system loading, directly impacts the device's startup speed, system stability, and user experience.

[0003] As a universal bootloader launched by Google, GBL (Generic Android bootloader) will become a must-have option for the Android system. Therefore, how to propose a bootloader that adapts to the GBL boot framework according to the design requirements of GBL has become a technical problem that urgently needs to be solved in this field. Summary of the Invention

[0004] Therefore, it is necessary to provide a device startup method, apparatus, computer device, storage medium, and program product to address the aforementioned technical problems.

[0005] In a first aspect, this application provides a device startup method, comprising:

[0006] The resources of the device to be started are initialized based on the first bootloader;

[0007] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0008] Run the second bootloader to execute the device initialization process for the device to be booted based on the boot information;

[0009] Once the device initialization process is complete, the GBL program is loaded to start the device based on the GBL program.

[0010] In one embodiment, obtaining the startup information of the device to be started includes:

[0011] In response to the input operation command, the startup slot and startup mode of the device to be started are obtained; the startup information includes the startup slot and the startup mode, and the operation command is used to start the device to be started.

[0012] In one embodiment, the device initialization process of executing the device to be started based on the startup information includes:

[0013] The system to be started for the device to be started is determined based on the start slot.

[0014] The device initialization process of the system to be started is executed according to the startup mode.

[0015] In one embodiment, the device initialization process of executing the system to be started according to the startup mode includes:

[0016] Based on the startup mode and the preset correspondence, the target subsystem is determined and loaded to execute the device initialization process of the system to be started; the preset correspondence includes the correspondence between startup modes and subsystems.

[0017] In one embodiment, the method further includes:

[0018] Obtain the first execution completion time of the device initialization process and the second execution completion time of the GBL program;

[0019] The performance evaluation result of the GBL program is determined based on the time difference between the first execution completion time and the second execution completion time.

[0020] In one embodiment, the method further includes:

[0021] After the GBL program finishes execution, save the program's runtime log and release resource control.

[0022] Secondly, this application also provides a device starting apparatus, comprising:

[0023] The first initialization module is used to initialize the resources of the device to be started based on the first bootloader;

[0024] The first acquisition module is used to acquire the startup information of the device to be started after the resource initialization of the device to be started is completed.

[0025] The second initialization module is used to run the second bootloader to execute the device initialization process of the device to be started based on the boot information;

[0026] The startup module is used to load the GBL program after the device initialization process is completed, so as to start the device to be started based on the GBL program.

[0027] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0028] The resources of the device to be started are initialized based on the first bootloader;

[0029] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0030] Run the second bootloader to execute the device initialization process for the device to be booted based on the boot information;

[0031] Once the device initialization process is complete, the GBL program is loaded to start the device based on the GBL program.

[0032] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:

[0033] The resources of the device to be started are initialized based on the first bootloader;

[0034] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0035] Run the second bootloader to execute the device initialization process for the device to be booted based on the boot information;

[0036] Once the device initialization process is complete, the GBL program is loaded to start the device based on the GBL program.

[0037] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:

[0038] The resources of the device to be started are initialized based on the first bootloader;

[0039] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0040] Run the second bootloader to execute the device initialization process for the device to be booted based on the boot information;

[0041] Once the device initialization process is complete, the GBL program is loaded to start the device based on the GBL program.

[0042] The aforementioned device startup method, apparatus, computer device, storage medium, and program product initialize the resources of the device to be started based on a first bootloader; after the resource initialization of the device to be started is completed, the startup information of the device to be started is obtained; a second bootloader is run to execute the device initialization process of the device to be started according to the startup information; after the device initialization process is completed, a GBL program is loaded to start the device to be started based on the GBL program. This allows the pre-bootloader of the GBL program to be completed before loading the GBL program, so that the GBL program can run normally, realize the startup of smart devices based on GBL, and thus meet the Android version upgrade requirements. Attached Figure Description

[0043] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0044] Figure 1 This is an internal structural diagram of a computer device provided in an embodiment of this application;

[0045] Figure 2 This is a schematic flowchart of a device startup method provided in an embodiment of this application;

[0046] Figure 3 This is a flowchart illustrating a device initialization process execution method provided in an embodiment of this application;

[0047] Figure 4 This is a schematic flowchart of a performance evaluation method provided in an embodiment of this application;

[0048] Figure 5 This is a schematic diagram of a GBL startup framework provided in an embodiment of this application;

[0049] Figure 6 This is a structural block diagram of a device starting device provided in an embodiment of this application. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0051] It should be noted that the terms "first," "second," etc., used in this application can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "comprising" and "having," and any variations thereof, used in this application, are intended to cover non-exclusive inclusion. The term "multiple" used in this application refers to two or more. The term "and / or" used in this application refers to one of the embodiments, or any combination of multiple embodiments.

[0052] With the rapid development of mobile computing and IoT technologies, embedded systems, especially smart devices based on the Android operating system, have become a core component of modern digital life. During the startup process of these smart devices, the bootloader, as a crucial bridge connecting hardware initialization and operating system loading, directly impacts the device's startup speed, system stability, and user experience.

[0053] As a universal bootloader launched by Google, GBL (Generic Android bootloader) will become a must-have option for the Android system. Therefore, how to propose a bootloader that adapts to the GBL boot framework according to the design requirements of GBL has become a technical problem that urgently needs to be solved in this field.

[0054] The device startup method provided in this application embodiment can be applied to, for example, Figure 1 The application environment shown. Figure 1 This is an internal structure diagram of a computer device provided in an embodiment of this application. The computer device may be a server, and its internal structure diagram may be as follows: Figure 1 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a device boot method.

[0055] Those skilled in the art will understand that Figure 1 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0056] In one embodiment, such as Figure 2 As shown, Figure 2 This is a flowchart illustrating a device startup method provided in an embodiment of this application. This method can be applied to... Figure 1 The method, using a computer device, includes the following steps:

[0057] S201, initialize the resources of the device to be started based on the first bootloader.

[0058] Optionally, the hardware resources, memory, hardware interface services, and library files of the device to be started can be initialized based on the first bootloader to achieve the above resource initialization.

[0059] For example, after the device to be booted is powered on, the code segment BootRom embedded in the chip of the device to be booted can be run first to initialize hardware resources such as memory and internal RAM through BootRom. Then, the Preloader is loaded from memory, and after the Preloader verification is completed, the process jumps to the Preloader to execute the next initialization step.

[0060] In one embodiment, the Double Data Rate Synchronous Dynamic Random Memory (DDR) can be initialized via the Preloader, and then the EDK2 bootloader can be loaded and verified from the memory. After verification, the process jumps to the EDK2 bootloader to execute the next initialization step.

[0061] For example, the standard interface service (protocol) of the hardware can be initialized based on the EDK2 bootloader, and the library file (Lib) can be encapsulated. The library file includes the low-level interface of the device driver and the solution for customized design, such as a library file implemented to meet the customized requirements of cmdline, which is used to encapsulate the customized cmdline.

[0062] In this embodiment of the application, the first bootloader includes the aforementioned BootRom, Preloader, and EDK2 bootloader for initializing hardware interfaces and packaged library files.

[0063] S202: After the resource initialization of the device to be started is completed, obtain the startup information of the device to be started.

[0064] In this embodiment, startup information such as the startup slot and startup mode of the device to be started can be obtained in response to the operation command input by the user for the device to be started.

[0065] For example, boot modes may include normal, fastboot, recovery, and power-off charging, with different boot modes corresponding to different initialization processes.

[0066] Optionally, if the device to be started contains multiple systems, the startup slot corresponding to the user's operation command can be identified in response to the operation command, so as to determine the system to be started corresponding to the operation command, and then the subsequent device initialization process can be loaded from the system to be started.

[0067] S203, run the second bootloader to execute the device initialization process of the device to be started based on the boot information.

[0068] Optionally, the second bootloader (Launch GBL APP) can first execute BoardInit to complete the initialization configuration of the device's GPIO, bus, PMIC, etc., and then execute the device initialization process of the device to be booted under the system to be booted corresponding to the boot slot based on the boot mode.

[0069] For example, the device initialization process may include: power-on vibration, loading subsystems, etc.

[0070] S204, after the device initialization process is completed, load the GBL program to start the device to be started based on the GBL program.

[0071] Optionally, after the device initialization process is completed, the GBL program can be loaded and verified, and then the execution of the GBL program can be skipped. The GBL program loads the kernel image, organizes the kernel image layout in memory, completes the configuration of DTS, CMDline, bootconfig, etc., and then jumps to the kernel to complete kernel initialization. Then the subsequent boot process continues.

[0072] In this embodiment, the resources of the device to be started are initialized based on the first bootloader; after the resource initialization of the device to be started is completed, the startup information of the device to be started is obtained; the second bootloader is run to execute the device initialization process of the device to be started according to the startup information; after the device initialization process is completed, the GBL program is loaded to start the device to be started based on the GBL program. Thus, the pre-bootloader of the GBL program can be completed in advance before the execution of the GBL program, and the GBL program is loaded and verified so that the GBL program can run normally, realizing the startup of the smart device based on GBL, thereby meeting the Android version upgrade requirements.

[0073] Reference Figure 3 , Figure 3This is a flowchart illustrating a device initialization process execution method provided in an embodiment of this application. This embodiment relates to a possible implementation of how to execute a device initialization process for a device to be started based on startup information. Based on the above embodiment, S203 includes the following steps:

[0074] S301, determine the system to be started for the device to be started based on the start slot.

[0075] S302, execute the device initialization process of the system to be started according to the startup mode.

[0076] Optionally, if the device to be started contains multiple systems, the startup slot corresponding to the user's operation command can be identified in response to the operation command, so as to determine the system to be started corresponding to the operation command, and then the subsequent device initialization process can be loaded from the system to be started.

[0077] For example, the above device initialization process may include: determining whether to perform power-on vibration based on the startup mode, and performing power-on vibration if required. If the starter motor of the device to be started does not support automatic shutdown, then the power-on vibration is turned off after it completes.

[0078] In one embodiment, the device initialization process further includes: loading the corresponding target subsystem (subsys) according to the boot mode and the preset correspondence between the boot mode and the subsystem.

[0079] Optionally, the device initialization process may also include: performing relevant initializations for secure boot, for use in the device boot process for image verification such as subsys.

[0080] In this embodiment, in response to the input operation command, the startup slot and startup mode of the device to be started are obtained; the startup information includes the startup slot and startup mode, and the operation command is used to start the device to be started, so that different startup modes and startup slots can be selected in response to different operation commands input by the user, and the device initialization process can be executed for different startup modes and startup slots, thereby improving the flexibility and reliability of device startup.

[0081] Reference Figure 4 , Figure 4 This is a flowchart illustrating a performance evaluation method provided in an embodiment of this application. Based on the above embodiment, the method further includes the following steps:

[0082] S401, obtain the first execution completion time of the device initialization process and the second execution completion time of the GBL program.

[0083] Optionally, the Real-Time Clock (RTC) time can be obtained before the device initialization process is completed and jumps to the GBL program to obtain the first execution completion time; then, the RTC time can be obtained before the GBL program jumps to the kernel to obtain the second execution completion time.

[0084] S402, determine the performance evaluation result of the GBL program based on the time difference between the first execution completion time and the second execution completion time.

[0085] For example, the absolute value of the difference between the first execution completion time and the second execution completion time can be determined as the time difference between the first execution completion time and the second execution completion time, and then performance evaluation can be performed based on the time difference to obtain the performance evaluation result.

[0086] Optionally, the performance evaluation score can be determined based on the time difference. The smaller the time difference, the higher the performance evaluation score, and the larger the time difference, the lower the performance evaluation score. The performance evaluation score is then used as the performance evaluation result.

[0087] In this embodiment, the first execution completion time of the device initialization process and the second execution completion time of the GBL program are obtained; the performance evaluation result of the GBL program is determined based on the time difference between the first execution completion time and the second execution completion time, thereby enabling the performance evaluation of the GBL program and facilitating the optimization of the GBL program based on the performance evaluation result.

[0088] Based on the above embodiments, the method further includes the following steps:

[0089] After the GBL program finishes execution, save the GBL program's runtime log and release the resources occupied by EDK2.

[0090] Optionally, before releasing resource control of EDK2 resources, the runtime log of the GBL program can be written to memory to facilitate GBL function development, debugging, and problem localization.

[0091] In one embodiment, after the GBL program completes execution, the device driver can also be initialized and configured. During initialization, the device driver or system service needs to register a callback service and execute the corresponding configuration within the callback service, thereby ensuring the backup driver can run correctly during the kernel phase.

[0092] Reference Figure 5 , Figure 5 This is a schematic diagram of a GBL startup framework provided in an embodiment of this application. For example, it can be based on... Figure 5 The GBL boot framework shown performs device booting.

[0093] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.

[0094] Based on the same inventive concept, this application also provides a device startup apparatus for implementing the device startup method described above. This apparatus can be applied to or integrated into a chip or chip module, for example. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more device startup apparatus embodiments provided below can be found in the limitations of the device startup method described above, and will not be repeated here.

[0095] In one embodiment, such as Figure 6 As shown, Figure 6 This is a structural block diagram of a device starting apparatus provided in an embodiment of this application. The apparatus 600 includes:

[0096] The first initialization module 601 is used to initialize the resources of the device to be started based on the first bootloader.

[0097] The first acquisition module 602 is used to acquire the startup information of the device to be started after the resource initialization of the device to be started is completed.

[0098] The second initialization module 603 is used to run the second bootloader to execute the device initialization process of the device to be started based on the boot information.

[0099] The startup module 604 is used to load the GBL program after the device initialization process is completed, so as to start the device to be started based on the GBL program.

[0100] In one embodiment, the first acquisition module 602 includes:

[0101] The acquisition unit is used to acquire the startup slot and startup mode of the device to be started in response to the input operation command; the startup information includes the startup slot and startup mode, and the operation command is used to start the device to be started.

[0102] In one embodiment, the second initialization module 603 includes:

[0103] The first determining unit is used to determine the system to be started for the device to be started based on the starting slot.

[0104] The execution unit is used to execute the device initialization process of the system to be started according to the startup mode.

[0105] In one embodiment, the execution unit is specifically used to determine and load the target subsystem according to the startup mode and the preset correspondence, so as to execute the device initialization process of the system to be started; the preset correspondence includes the correspondence between the startup mode and the subsystem.

[0106] In one embodiment, the device 600 further includes:

[0107] The second acquisition module is used to acquire the first execution completion time of the device initialization process and the second execution completion time of the GBL program.

[0108] The determination module is used to determine the performance evaluation result of the GBL program based on the time difference between the first execution completion time and the second execution completion time.

[0109] In one embodiment, the device 600 further includes:

[0110] The processing module is used to save the running log of the GBL program and release resource control after the GBL program has finished executing.

[0111] Regarding the modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, hardware modules / units, or a combination of both. For example, for various devices and products applied to or integrated into a chip, all of their modules / units can be implemented using hardware methods such as circuits, or at least some modules / units can be implemented using software programs that run on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits; for various devices and products applied to or integrated into a chip module, all of their modules / units can be implemented using hardware methods such as circuits, and different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units can be implemented using hardware methods such as circuits. The components can be implemented using software programs that run on the processor integrated within the chip module. The remaining (if any) modules / units can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into the terminal, each of its components / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or in different components within the terminal. Alternatively, at least some modules / units can be implemented using software programs that run on the processor integrated within the terminal, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits.

[0112] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0113] The resources of the device to be started are initialized based on the first bootloader;

[0114] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0115] Run the second bootloader to execute the device initialization process for the device to be started based on the boot information;

[0116] Once the device initialization process is complete, the GBL program is loaded to start the device to be started based on the GBL program.

[0117] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0118] In response to the input operation command, the startup slot and startup mode of the device to be started are obtained; the startup information includes the startup slot and startup mode, and the operation command is used to start the device to be started.

[0119] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0120] Determine the system to be started for the device to be started based on the start slot;

[0121] The device initialization process of the system to be started is executed according to the startup mode.

[0122] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0123] Based on the startup mode and the preset correspondence, the target subsystem is determined and loaded to execute the device initialization process of the system to be started; the preset correspondence includes the correspondence between the startup mode and the subsystem.

[0124] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0125] Obtain the first execution completion time of the device initialization process and the second execution completion time of the GBL program;

[0126] The performance evaluation result of the GBL program is determined based on the time difference between the first execution completion time and the second execution completion time.

[0127] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0128] After the GBL program finishes execution, save the GBL program's runtime log and release resource control.

[0129] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0130] The resources of the device to be started are initialized based on the first bootloader;

[0131] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0132] Run the second bootloader to execute the device initialization process for the device to be started based on the boot information;

[0133] Once the device initialization process is complete, the GBL program is loaded to start the device to be started based on the GBL program.

[0134] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0135] In response to the input operation command, the startup slot and startup mode of the device to be started are obtained; the startup information includes the startup slot and startup mode, and the operation command is used to start the device to be started.

[0136] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0137] Determine the system to be started for the device to be started based on the start slot;

[0138] The device initialization process of the system to be started is executed according to the startup mode.

[0139] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0140] Based on the startup mode and the preset correspondence, the target subsystem is determined and loaded to execute the device initialization process of the system to be started; the preset correspondence includes the correspondence between the startup mode and the subsystem.

[0141] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0142] Obtain the first execution completion time of the device initialization process and the second execution completion time of the GBL program;

[0143] The performance evaluation result of the GBL program is determined based on the time difference between the first execution completion time and the second execution completion time.

[0144] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0145] After the GBL program finishes execution, save the GBL program's runtime log and release resource control.

[0146] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0147] The resources of the device to be started are initialized based on the first bootloader;

[0148] Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started;

[0149] Run the second bootloader to execute the device initialization process for the device to be started based on the boot information;

[0150] Once the device initialization process is complete, the GBL program is loaded to start the device to be started based on the GBL program.

[0151] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0152] In response to the input operation command, the startup slot and startup mode of the device to be started are obtained; the startup information includes the startup slot and startup mode, and the operation command is used to start the device to be started.

[0153] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0154] Determine the system to be started for the device to be started based on the start slot;

[0155] The device initialization process of the system to be started is executed according to the startup mode.

[0156] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0157] Based on the startup mode and the preset correspondence, the target subsystem is determined and loaded to execute the device initialization process of the system to be started; the preset correspondence includes the correspondence between the startup mode and the subsystem.

[0158] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0159] Obtain the first execution completion time of the device initialization process and the second execution completion time of the GBL program;

[0160] The performance evaluation result of the GBL program is determined based on the time difference between the first execution completion time and the second execution completion time.

[0161] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:

[0162] After the GBL program finishes execution, save the GBL program's runtime log and release resource control.

[0163] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0164] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0165] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A device startup method, characterized in that, The method includes: The resources of the device to be started are initialized based on the first bootloader; Once the resource initialization of the device to be started is complete, obtain the startup information of the device to be started; Run a second bootloader to execute the device initialization process of the device to be started based on the boot information; Once the device initialization process is completed, the GBL program is loaded to start the device to be started based on the GBL program.

2. The method according to claim 1, characterized in that, The step of obtaining the startup information of the device to be started includes: In response to an input operation command, the startup slot and startup mode of the device to be started are obtained; the startup information includes the startup slot and the startup mode, and the operation command is used to start the device to be started.

3. The method according to claim 2, characterized in that, The step of executing the device initialization process of the device to be started according to the startup information includes: The system to be started for the device to be started is determined based on the start slot; The device initialization process of the system to be started is executed according to the startup mode.

4. The method according to claim 3, characterized in that, The step of executing the device initialization process of the system to be started according to the startup mode includes: Based on the startup mode and the preset correspondence, the target subsystem is determined and loaded to execute the device initialization process of the system to be started; the preset correspondence includes the correspondence between startup modes and subsystems.

5. The method according to claim 1, characterized in that, The method further includes: Obtain the first execution completion time of the device initialization process and the second execution completion time of the GBL program; The performance evaluation result of the GBL program is determined based on the time difference between the first execution completion time and the second execution completion time.

6. The method according to claim 1, characterized in that, The method further includes: After the GBL program finishes execution, save the GBL program's running log and release resource control.

7. A device for starting up equipment, characterized in that, The device includes: The first initialization module is used to initialize the resources of the device to be started based on the first bootloader; The first acquisition module is used to acquire the startup information of the device to be started after the resource initialization of the device to be started is completed; The second initialization module is used to run the second bootloader to execute the device initialization process of the device to be started according to the boot information; The startup module is used to load the GBL program after the device initialization process is completed, so as to start the device to be started based on the GBL program.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.