CN114020342A - Starting method and device of embedded equipment, embedded equipment and storage medium - Google Patents

Starting method and device of embedded equipment, embedded equipment and storage medium Download PDF

Info

Publication number
CN114020342A
CN114020342A CN202111303963.5A CN202111303963A CN114020342A CN 114020342 A CN114020342 A CN 114020342A CN 202111303963 A CN202111303963 A CN 202111303963A CN 114020342 A CN114020342 A CN 114020342A
Authority
CN
China
Prior art keywords
operating system
hardware
embedded
stage
initialization
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.)
Granted
Application number
CN202111303963.5A
Other languages
Chinese (zh)
Other versions
CN114020342B (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.)
Kedong Guangzhou Software Technology Co Ltd
Original Assignee
Kedong Guangzhou Software 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 Kedong Guangzhou Software Technology Co Ltd filed Critical Kedong Guangzhou Software Technology Co Ltd
Priority to CN202210846962.3A priority Critical patent/CN115237480A/en
Priority to CN202111303963.5A priority patent/CN114020342B/en
Publication of CN114020342A publication Critical patent/CN114020342A/en
Application granted granted Critical
Publication of CN114020342B publication Critical patent/CN114020342B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/4405Initialisation of multiprocessor systems
    • 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
    • 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

Abstract

The embodiment of the invention discloses a starting method and device of embedded equipment, the embedded equipment and a storage medium. Wherein, the method comprises the following steps: responding to a starting instruction of the embedded equipment, and executing a parallel starting process of an embedded operating system and a general computer operating system; after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment; after the general computer operating system is started, hardware initialization of a second stage is carried out on each hardware in the embedded equipment, so that the embedded equipment is quickly started in the general computer operating system. According to the embodiment of the invention, the method greatly improves the starting speed of the embedded equipment provided with the general computer operating system, and meets the rapid starting requirement of a specific application scene on the embedded equipment.

Description

Starting method and device of embedded equipment, embedded equipment and storage medium
Technical Field
The embodiment of the invention relates to a computer embedded technology, in particular to a starting method and a starting device of embedded equipment, the embedded equipment and a storage medium.
Background
With the continuous development of computer software and hardware technologies, the functions of various embedded devices (e.g., switches or routers) are also continuously improved. The embedded system is a special computer system which takes application as a center, is based on computer technology, can cut software and hardware and is suitable for strict requirements of the application system on functions, reliability, cost, volume and power consumption.
In the prior art, a general computer operating system, for example, a Linux operating system, is generally considered to be installed in an embedded device to provide the embedded device with a more flexible software running environment, so that customized development of software on the embedded device is avoided, and development cost of embedded application software is reduced.
In the process of implementing the invention, the inventor finds that the prior art has the following defects: after the general computer operating system is installed in the embedded device, the boot-up speed which can be achieved when the embedded operating system is installed in the embedded device cannot be achieved, and further the product cannot be applied to an application scene which is particularly severe to the boot-up speed.
Disclosure of Invention
The embodiment of the invention provides a starting method and a starting device of embedded equipment, the embedded equipment and a storage medium, and aims to improve the starting speed of the embedded equipment provided with a general computer operating system.
In a first aspect, an embodiment of the present invention provides a method for starting an embedded device, where the embedded device has multiple CPU cores and is installed with an embedded operating system and a general-purpose computer operating system, where the method includes:
responding to a starting instruction of the embedded equipment, and executing a parallel starting process of an embedded operating system and a general computer operating system;
after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment;
after the general computer operating system is started, hardware initialization of a second stage is carried out on each hardware in the embedded equipment, so that the embedded equipment is quickly started in the general computer operating system.
In a second aspect, an embodiment of the present invention further provides a starting apparatus for an embedded device, where the embedded device is provided with multiple CPU cores and is installed with an embedded operating system and a general-purpose computer operating system, and the starting apparatus includes:
the parallel starting flow executing module is used for responding to a starting instruction of the embedded equipment and executing the parallel starting flow of the embedded operating system and the general computer operating system;
the hardware initialization operation module in the first stage is used for performing hardware initialization operation in the first stage on each hardware in the embedded equipment after the embedded operating system is started;
and the hardware initialization operation module in the second stage is used for performing hardware initialization in the second stage on each hardware in the embedded equipment after the general computer operating system is started, so as to realize quick start of the embedded equipment in the general computer operating system.
In a third aspect, an embodiment of the present invention further provides an embedded device, including a memory, multiple CPU cores, and a computer program that is stored in the memory and can run on the CPU cores, where an embedded operating system and a general-purpose computer operating system are respectively installed on different CPU cores, and when at least one CPU core executes the computer program, the method for starting the embedded device according to any embodiment of the present invention is implemented.
In a fourth aspect, an embodiment of the present invention further provides a storage medium containing computer-executable instructions, where a computer program is stored on the storage medium, and when the computer program is executed by a CPU core, the method for starting an embedded device according to any embodiment of the present invention is implemented.
According to the technical scheme provided by the embodiment of the invention, the parallel starting process of the embedded operating system and the general computer operating system is executed by responding to the starting instruction of the embedded equipment; after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment; the method has the advantages that the hardware in the embedded equipment is initialized in the second stage by the aid of the general computer operating system after the general computer operating system is started, parallel initialization of the hardware in the embedded equipment is achieved by the aid of the embedded operating system and the general computer operating system in a matched mode by means of a multi-CPU core technology, starting speed of the embedded equipment provided with the general computer operating system is greatly increased, and requirements of specific application scenes on quick starting of the embedded equipment are met.
Drawings
Fig. 1 is a flowchart of a method for starting an embedded device according to a first embodiment of the present invention;
fig. 2a is a flowchart of another method for starting an embedded device according to a second embodiment of the present invention;
fig. 2b is a schematic diagram of a specific application scenario to which the technical solution of the second embodiment of the present invention is applied;
fig. 2c is a flowchart of another specific application scenario to which the technical solution of the second embodiment of the present invention is applied;
fig. 3 is a schematic structural diagram of a starting apparatus of an embedded device according to a third embodiment of the present invention;
fig. 4 is a schematic structural diagram of an embedded device in the fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention.
It should be further noted that, for the convenience of description, only some but not all of the relevant aspects of the present invention are shown in the drawings. Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the operations (or steps) as a sequential process, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
The terms "first" and "second," and the like in the description and claims of embodiments of the invention and in the drawings, are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "comprising" and "having," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not set forth for a listed step or element but may include steps or elements not listed.
In order to facilitate understanding of the technical solutions of the embodiments of the present invention, the main concept of the present invention is first briefly described.
Firstly, when the embedded device is started, the embedded device needs to complete initialization operation of each hardware (such as a sound card, a video card, a keyboard, a mouse and the like) included in the embedded device, and after all the hardware is initialized, the embedded device can correspondingly control each hardware to execute corresponding device functions, so that the startup process of the embedded identification is completed.
Generally, the initialization operation for a certain hardware mainly includes several ways, one is to only perform hardware scanning to detect whether the function of the hardware is intact; another method is that after hardware scanning is carried out, one or more registers in the embedded device are assigned for the hardware, and then the normal use of the hardware is controlled according to the assignment result of the registers; another method is to establish a data structure in the memory after the hardware is scanned, and to perform corresponding assignment on the data structure in the memory, so as to manipulate the normal use of the hardware according to the assignment result of the data structure.
Accordingly, the prior art has the following disadvantages: the reason why the startup speed which can be achieved when the embedded operating system is installed in the embedded device cannot be achieved after the general-purpose computer operating system is installed in the embedded device is that hardware scanning is required to be performed firstly when all hardware is initialized, and the startup speed of the embedded device which is installed with the embedded operating system is faster than that of the general-purpose computer operating system because the embedded operating system is matched with the embedded device when the hardware is scanned.
Based on the above thought and combined with the multi-core technology which is rapidly developed at present, the inventor creatively proposes that aiming at the embedded device which is adaptive to a plurality of CPU cores, an embedded operating system and a general computer operating system can be respectively installed in two CPU cores of the embedded device, and further, with the assistance of the embedded operating system, the embedded device can rapidly complete the initialization of all hardware of the embedded device and finally enter the general computer operating system to respond to the operation control of a user, so that the startup starting speed of the embedded device which is provided with the general computer operating system is greatly improved, and meanwhile, the embedded device is endowed with a more flexible software running environment.
Example one
Fig. 1 is a flowchart of a method for starting an embedded device according to an embodiment of the present invention. The embodiment can be applied to the situation of quick start of the embedded device in the general computer operating system. The method of this embodiment may be executed by an initiating apparatus of the embedded device, where the apparatus may be implemented by software and/or hardware, and the apparatus may be configured in the embedded device, for example, an interactive machine, a router, a gateway device, or the like.
The embedded device in the embodiment of the present invention includes a plurality of Central Processing Unit (CPU) cores, and the embedded device is installed with an embedded operating system and a general computer operating system. Typically, an embedded operating system and a general-purpose computer operating system are respectively installed in two different CPU cores of the embedded device.
Correspondingly, the method specifically comprises the following steps:
and S110, responding to a starting instruction of the embedded equipment, and executing a parallel starting process of the embedded operating system and the general computer operating system.
The embedded device mainly comprises an embedded processor, related supporting hardware and an embedded software system, and is an independent working device integrating software and hardware. The start instruction may be an instruction that tells the embedded device to start running code for a particular operation. Specifically, a user may trigger generation of a start instruction of the embedded device by clicking or long-pressing a power-on key of the embedded device.
The embedded operating system may be composed of hardware and software, and is a device that can operate independently. The software content of the embedded operating system can comprise a software running environment and an operating system thereof; the hardware content may include various aspects of signal processors, memory, communication modules, and the like. Compared with a general computer processing system, the embedded operating system has great diversity, and cannot realize large-capacity storage function because a large-capacity medium matched with the embedded operating system is not available. A general-purpose computer operating system may be a computer program that manages computer hardware and software resources. General purpose computer operating systems need to handle basic transactions such as managing and configuring memory, prioritizing system resources, controlling input devices and output devices, and operating networks and managing file systems.
The general computer operating system also provides an operation interface for the user to interact with the system, and may specifically include: DOS operating system, Unix operating system, Linux operating system, and Windows operating system.
In this embodiment, when the embedded device receives the start instruction, the parallel start of the embedded operating system and the general-purpose computer operating system may be triggered. The parallel start refers to the starting process of executing the operating system, wherein the embedded operating system and the general computer operating system are not interfered with each other and are isolated from each other.
Illustratively, the embedded Operating System may be a Real Time Operating System (RTOS), and the general-purpose computer Operating System may be a Linux Operating System. Correspondingly, the embedded device can simultaneously start the Linux operating system and the RTOS on different CPU cores in response to the starting instruction of the embedded device. Specifically, compared with the Linux operating system, the RTOS is started faster.
And S120, after the embedded operating system is started, performing hardware initialization operation of a first stage on each hardware in the embedded equipment.
In this embodiment, since the embedded os and the os of the general-purpose computer are independently and concurrently booted, each bit can perform a matching hardware initialization operation after booting is completed. That is, the initialization process for all hardware included in the embedded device is implemented by both operating systems.
Aiming at hardware needing to assign a data structure in a memory in the hardware initialization process, an assigned operating system must be an operating system which is finally entered by an embedded device, namely, a general computer operating system can only normally use the hardware; and the hardware which only performs hardware scanning in the hardware initialization process, or the hardware which only needs to perform assignment on the register in the hardware initialization process, which operating system performs hardware scanning on the hardware, or the register assignment does not influence the normal use of the hardware.
Based on this, the technical scheme of the embodiments of the present invention divides the hardware initialization operation that the embedded device needs to execute completely into two stages (parts) in advance, and the two stages are completed by the cooperation of the embedded operating system and the general computer operating system. That is, the embedded operating system and the general-purpose computer operating system are respectively started, after the embedded operating system is started, the preset first-stage hardware initialization operation is executed, and after the general-purpose computer operating system is started, the preset second-stage hardware initialization operation is executed.
A person skilled in the art may preset the first-stage hardware initialization operation and the second-stage hardware initialization operation according to the foregoing basic criteria, which is not limited in this embodiment.
In a specific example, all or part of hardware scanning tasks of the hardware can be set as first-stage initialization tasks, and register assignment tasks of all the hardware or assignment tasks of a set data structure in a memory can be set as second-stage initialization tasks; or, considering that the hardware initialization process of the embedded operating system is very rapid, the hardware scanning task, the register assignment task and the task of creating the data structure in the memory of all or the hardware can be set as the first-stage task, and only the assignment task in the data structure created in the memory is set as the second-stage task, so as to utilize the quick start advantage of the embedded operating system to the maximum extent.
Taking the embedded device as an example of a switch, the first stage hardware initialization operation may include: an initialization network card, a network switch chip, and an SPI interface (system packet interface), etc.
In this embodiment, after the embedded operating system is started, the hardware in the embedded device may be further initialized in the first phase to assist the general-purpose computer operating system to complete the real fast start.
And S130, after the general computer operating system is started, hardware initialization of a second stage is carried out on each hardware in the embedded equipment so as to realize quick start of the embedded equipment in the general computer operating system.
In this embodiment, after the computer operating system is started, the hardware in the embedded device may be further initialized in the second stage, so as to accelerate the start of the embedded device in the general computer operating system.
It should be emphasized again that there may or may not be a timing relationship between the hardware initialization operation in the first stage and the hardware initialization operation in the second stage, for example, when the hardware initialization operation in the first stage needs to perform hardware scanning on hardware a and hardware B, and the hardware initialization operation in the second stage needs to perform hardware scanning on hardware C, at this time, the hardware initialization operations in the above stages may be performed in parallel, and the two do not respond to each other; however, when the hardware D needs to be scanned and a data structure is created in the memory in the first stage of hardware initialization operation, and the data structure of the hardware D needs to be assigned in the second stage of hardware initialization operation, the second stage of hardware initialization operation needs to be executed continuously after the first stage of hardware initialization operation is executed.
Optionally, after the booting is completed, the general computer operating system performs a second stage of hardware initialization on each hardware in the embedded device, where the second stage of hardware initialization includes at least one of the following:
through a general computer operating system, aiming at first-class hardware which completes hardware initialization of a first stage in embedded equipment, hardware initialization of a second stage is carried out; and through a general computer operating system, aiming at second hardware which is not subjected to hardware initialization of the first stage in the embedded equipment, hardware initialization of the second stage is carried out.
After the general computer system completes the second stage hardware initialization, the embedded device finally enters the general computer operating system and completely controls each hardware in the general computer operating system.
Accordingly, the hardware initialization of the second stage mainly includes: the first type of hardware that completes part of hardware initialization operation for the embedded operating system continues to perform subsequent initialization process (typically, memory assignment) to completely implement the hardware initialization process for the first type of hardware, or the whole hardware initialization process is performed independently for the second type of hardware that has not undergone hardware initialization operation for the embedded operating system.
In this embodiment, the hardware initialization at the second stage may be performed for the first type of hardware that completes the hardware initialization at the first stage in the embedded device by using the general-purpose computer operating system. Specifically, the method may include: through a general computer operating system, the first class hardware which completes the hardware initialization of the first stage in the embedded equipment can be used for performing the hardware initialization of the second stage on the first class hardware which completes the hardware initialization of the first stage in the embedded equipment; or, through a general computer operating system, using a first class of hardware in the embedded device that completes the hardware initialization of the first stage, and performing the hardware initialization of the second stage on a second class of hardware in the embedded device that does not perform the hardware initialization of the first stage.
The advantages of such an arrangement are: the hardware initialization of the second stage can be performed for the first type of hardware which completes the hardware initialization of the first stage and the second type of hardware which does not perform the hardware initialization of the first stage in the embedded device through a general computer operating system. Therefore, the embedded operating system and the general computer operating system can be flexibly and parallelly used for hardware initialization according to the requirements of tasks. Furthermore, the starting speed of the system is improved, and further the working efficiency is improved.
According to the technical scheme provided by the embodiment of the invention, the parallel starting process of the embedded operating system and the general computer operating system is executed by responding to the starting instruction of the embedded equipment; after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment; the method has the advantages that the hardware in the embedded equipment is initialized in the second stage by the aid of the general computer operating system after the general computer operating system is started, parallel initialization of the hardware in the embedded equipment is achieved by the aid of the embedded operating system and the general computer operating system in a matched mode by means of a multi-CPU core technology, starting speed of the embedded equipment provided with the general computer operating system is greatly increased, and requirements of specific application scenes on quick starting of the embedded equipment are met.
In an optional implementation manner of this embodiment, in response to the start instruction for the embedded device, executing a parallel start procedure for the embedded operating system and the general-purpose computer operating system may include: triggering the execution of a bootstrap program (typically, a grub program) in the main core in response to a start instruction for the embedded device; by executing the bootstrap program, after the target slave core starts to execute the embedded operating system, the general computer operating system is started and executed in the master core; the entry point of the target slave core is preset as the entry address of the embedded operating system, and the CPU core used by the general computer operating system and the CPU core used by the embedded operating system are configured and isolated in the starting parameters of the bootstrap program in advance.
The multi-CPU core system generally includes a master core and at least one slave core. The master core may be understood as a master core in an embedded device adapted to multiple CPU cores. When the embedded device is triggered to start, the operation of the main core is firstly activated, and after the operation of the main core, the operation of the rest one or more auxiliary cores is suspended.
In a specific example, the boot grub program may be a grub (GRand UnifiedBootloader) program, which is a multiple operating system boot program from the GNU project. grub is an implementation of a multi-boot specification that allows a user to have multiple operating systems simultaneously within a computer and select the operating system that he wishes to run at computer boot. grub may be used to select different kernels on the operating system partition and may also be used to pass boot parameters to these kernels. The entry address may be the address pointed to by the function pointer. The boot parameters may be arguments contained in a boot instruction of the embedded device. Configuration isolation may be performed by setting different cores of the CPU corresponding to the embedded operating system and the general-purpose computer operating system.
For example, assume an eight core CPU, where four cores may be provided to store calls by the embedded operating system, and four cores are provided to store calls by the general purpose computer operating system. And the embedded operating system can only call the quad-core of the parameter configuration and cannot call the quad-core corresponding to the general computer operating system. Similarly, the general computer operating system can only call the quad-core configured by the parameters, and cannot call the quad-core corresponding to the embedded operating system.
In this embodiment, the execution of the boot program in the main core may be further triggered by responding to a start instruction to the embedded device. Further, after the bootstrap program is executed and the target slave core starts executing the embedded operating system, the general-purpose computer operating system can be started and executed in the master core. Accordingly, the entry address of the embedded operating system may be preset by the entry point of the target slave core, and the CPU core used by the general-purpose computer operating system may be able to be configuration-isolated from the CPU core used by the embedded operating system by using the boot parameter that is preset in the boot program.
The advantages of such an arrangement are: by executing the bootstrap program and the configuration of the starting parameters of the bootstrap program, the embedded operating system and the general computer operating system can orderly carry out parallel processing operation, and the parallel initialization of the external equipment is realized, so that the efficiency of the quick starting of the system can be improved.
Optionally, after the embedded operating system is started, the hardware initialization operation of the first stage is performed on each hardware in the embedded device, and the method may further include: after the embedded operating system is started, a plurality of CPU cores distributed to the embedded operating system are called, and hardware initialization operation of a first stage is performed on each hardware in the embedded equipment in parallel.
In this embodiment, after the embedded operating system is booted, multiple CPU cores may be allocated to the embedded operating system. For example, when the CPU of the computer is eight cores, wherein the embedded operating system can be set to fixedly use four cores, the general-purpose computer operating system can use another four cores. Therefore, the embedded operating system and the general computer operating system can process tasks in parallel, and the purpose of quickly starting the system can be further achieved.
The advantages of such an arrangement are: based on the multi-core CPU, on the basis of realizing that the embedded operating system and the general computer operating system execute matched hardware initialization operation in parallel, the embedded operating system can also use a plurality of CPU cores to execute the hardware initialization operation of the first stage of each hardware in parallel, so as to further improve the starting speed of the embedded device.
Example two
Fig. 2a is a flowchart of another method for starting an embedded device according to a second embodiment of the present invention. In this embodiment, after the embedded operating system is started, hardware initialization operation of a first stage is performed on each hardware in the embedded device, and a first-stage initialization completion notification matching the target hardware needs to be generated, so that hardware initialization of a second stage matching the target hardware can be performed.
S210, responding to the starting instruction of the embedded equipment, and executing a parallel starting process of the embedded operating system and the general computer operating system.
S220, through the embedded operating system, when the hardware initialization operation of the first stage of the target hardware in the embedded equipment is completed, a first stage initialization completion notice matched with the target hardware is generated.
In this embodiment, in order to implement cooperative coordination between the embedded operating system and the general-purpose computer operating system in the process of initializing all hardware, an existing message notification mechanism may be adopted, and the general-purpose operating system subscribes in advance a notification message sent by the embedded operating system, and specifies that a matching first-stage initialization completion notification is generated correspondingly when the embedded operating system completes the first-stage hardware initialization operation on a certain hardware (i.e., a target hardware). Through the setting, the general computer operating system can know the initialization process of the embedded operating system in real time.
Specifically, if the embedded operating system can completely implement the whole initialization operation on the target hardware, the hardware identifier of the target hardware may be added only in the first-stage initialization completion notification matched with the target hardware, so as to notify the general-purpose computer operating system that the initialization operation on the target hardware has been completed; if the embedded operating system can only partially complete the initialization operation of the target hardware, the intermediate data description information can be added into the first-stage initialization completion notification matched with the target hardware to inform the general computer system of where the intermediate data is stored in the shared memory during the initialization process of the target hardware, so that the general computer system can accurately position the intermediate data and continue to complete the initialization operation of the target hardware by using the intermediate data.
It should be noted that, if the embedded operating system sends the first-stage initialization completion notification to a certain hardware, it is equivalent to release the use right of the hardware, and therefore, if the embedded operating system needs to continue to use the hardware a to execute the first-stage initialization of other hardware after the first-stage initialization of a certain complete hardware a, the first-stage initialization completion notification corresponding to the hardware a may be sent after the embedded operating system completes all the required first-stage initialization operations using the hardware a.
Correspondingly, by the embedded operating system, when the hardware initialization operation of the first stage of the target hardware in the embedded device is completed, the first stage initialization completion notification matched with the target hardware is generated, which may further specifically include:
by the embedded operating system, if it is determined that intermediate data is generated in a target storage area in the shared memory for the hardware initialization operation of the first stage of the target hardware, the index address of the target storage area is added to the first-stage initialization completion notification.
The shared memory may be a large-capacity memory that can be accessed by different CPU cores in a computer system with multiple CPU cores. This is due to the fact that multiple CPU cores need to access the memory quickly, which requires caching. After any cached data is updated, the shared memory needs to be updated immediately since other CPU cores may also need to access the data, otherwise different CPU cores may use different data. The target storage area may be a physical medium and a storage address where data needs to be resident temporarily or for a long time during computer operation. The intermediate data may be data generated in a target storage area in the shared memory by a first stage hardware initialization operation. The index address can be a component element of the index entry, and indicates the distribution position of the index unit in the text.
And S230, after the startup of the general computer operating system is completed, identifying target hardware matched with the first-stage initialization completion notification whenever monitoring the first-stage initialization completion notification sent by the embedded operating system, and executing second-stage hardware initialization matched with the target hardware.
As described above, when the general-purpose computer operating system monitors the first-stage initialization completion notification sent by the embedded operating system, the target hardware currently completing the first-stage initialization may be first identified in the first-stage initialization completion notification, and then the second-stage hardware initialization matching the target hardware may be executed.
Optionally, the performing of the second stage of hardware initialization matched with the target hardware may include: if it is determined that the first-stage initialization of the target hardware executed by the embedded operating system has completed the complete initialization process of the target hardware, the initialization completion state of the target hardware can be marked directly in the general computer operating system, and further, the general computer operating system can also directly use the initialized target hardware to perform second-stage hardware initialization of other hardware; or
If it is determined that the first-stage initialization for the target hardware performed by the embedded operating system completes only a portion of the initialization process for the target hardware, the second-stage hardware initialization for the target hardware may continue. Correspondingly, identifying the target hardware matched with the first-stage initialization completion notification through a general computer operating system, and executing the second-stage hardware initialization matched with the target hardware, specifically comprising:
and identifying the target hardware matched with the first-stage initialization completion notice and the index address of the target storage area through a general computer operating system, and executing second-stage hardware initialization matched with the target hardware according to the intermediate data acquired from the index address of the target storage area.
Illustratively, the embedded operating system may be an RTOS and the general-purpose computer operating system may be a Linux operating system. And responding to the starting instruction of the embedded equipment, and executing a parallel starting process of an RTOS and a Linux operating system. Further, by the embedded operating system RTOS, whenever the first-phase hardware initialization operation for a target hardware in the embedded device is completed, a first-phase initialization completion notification matching the target hardware may be generated. Accordingly, by the embedded operating system RTOS, when it is determined that the intermediate data is generated in the target storage area in the shared memory for the hardware initialization operation of the first stage of the target hardware, the index address of the target storage area may be added to the first-stage initialization completion notification. Further, after the Linux operating system is started, whenever a first-stage initialization completion notification sent by the embedded operating system RTOS is monitored, if the first-stage initialization completion notification is identified to include the index addresses of the target hardware and the target storage area, the second-stage hardware initialization matched with the target hardware can be executed according to intermediate data acquired from the index address of the target storage area. Therefore, through the operation, the embedded device can be quickly started in the general computer operating system.
According to the technical scheme provided by the embodiment of the invention, the parallel starting process of the embedded operating system and the general computer operating system is executed by responding to the starting instruction of the embedded equipment; through an embedded operating system, when the hardware initialization operation of the first stage of target hardware in the embedded equipment is completed, a first stage initialization completion notice matched with the target hardware is generated; after the general computer operating system is started, when a first-stage initialization completion notification sent by an embedded operating system is monitored, target hardware matched with the first-stage initialization completion notification is identified, second-stage hardware initialization matched with the target hardware is executed, the embedded operating system and the general computer operating system are matched to realize parallel initialization of each hardware in the embedded equipment by using a multi-CPU (central processing unit) core technology, the starting speed of the embedded equipment provided with the general computer operating system is greatly improved, and the quick starting requirement of a specific application scene on the embedded equipment is met.
On the basis of the foregoing embodiments, after the embedded operating system performs the hardware initialization operation of the first stage on each hardware in the embedded device after the embedded operating system is started, the method may further include:
when determining that the hardware initialization operation of the first stage of the quick-start hardware matched with the quick-start application is finished through an embedded operating system, running the quick-start application in the embedded operating system;
correspondingly, after the booting is completed by the general computer operating system, the second stage of hardware initialization is performed on each hardware in the embedded device, and the method may further include:
and when determining that the hardware initialization operation of the first stage of the quick-start hardware is finished through a general computer operating system, switching the quick-start application to the general computer operating system to continue running.
The fast-boot application may refer to an application program that is predefined and needs to be triggered to be started within a short time (e.g., 1s) after the embedded hardware is booted and restarted. The quick-start hardware specifically refers to hardware included in the embedded device and necessary to be used when the quick-start application is started.
It can be understood by those skilled in the art that, although the embedded device can be quickly started by running the embedded operating system and the general-purpose computer operating system in parallel through multiple CPU cores, the starting speed of the general-purpose computer operating system is necessarily slower than that of the embedded operating system, and therefore, if the starting time requirement of a user on some application program installed in some embedded devices is high, the speed of directly starting and running the application program in the general-purpose computer operating system may not meet the requirement.
Based on this, the inventor creatively provides a new way based on advancing the start time of the application program, that is, after the embedded operating system is started, the fast start hardware which the fast start application needs to depend on is initialized first, and after the fast start hardware completes the initialization operation, the fast start hardware is started and operated in the embedded operating system first, so as to meet the fast start requirement of the user on the fast start application, and then, after the general computer operating system is started and is completed, and all hardware in the embedded device completes the hardware initialization of the second stage, the fast start hardware can be switched to the general computer operating system to continue to operate, so as to provide richer application functions for the user.
Illustratively, the embedded operating system may be an RTOS and the general-purpose computer operating system may be a Linux operating system. For the quick-start application, the embedded operating system can be used firstly, and the RTOS can be used for starting the application, so that the requirement of short starting time required by a user is met. And after the Linux operating system is started, the Linux operating system is used for starting the quick-start application. Since the application of the embedded operating system may be a fast-boot application started by the RTOS, and may not satisfy the upper-layer operation of the user using the fast-boot application, the fast-boot application needs to be switched to the Linux operating system to continue running.
The advantages of such an arrangement are: for some quick-start applications, the user has a high demand on the starting speed. Because the embedded operating system has a higher running speed compared with the general-purpose computer operating system. Therefore, the fast boot operation of the fast boot application needs to be performed by using the embedded operating system. After the general computer operating system is started, the quick-start application needs to be further started by using the general computer operating system, that is, the quick-start application is switched to the general computer operating system to continue running. Therefore, the starting time point of the quick-start application can be advanced, and the requirement of a user on quick starting of the quick-start application is met.
Specific application scenario one
Fig. 2b is a flowchart of a specific application scenario in a method for starting an embedded device. In the application scenario, the embedded device is specifically a switch, the set embedded operating system may be an RTOS, and the general-purpose computer operating system may be a Linux operating system. The SPI interface driver in the embedded equipment is compiled into a module in the Linux operating system, and the slave core event processing function is monitored by registration.
Firstly, after the slave core starts the RTOS, the RTOS initializes the SPI interface and the network card in each hardware in the embedded device, and when the initialization of the SPI interface is completed, the RTOS starts to initialize the basic switching function of the network switching chip by using the SPI interface configuration. And then, the embedded operating system RTOS sends a first-stage initialization completion notification matched with the SPI interface so as to realize the handover of the SPI control right. Meanwhile, the Linux operating system is started in parallel by the master core, after the Linux operating system is started, the slave core event monitoring function is mounted, after the first-stage initialization completion task notification aiming at the SPI interface and sent by the slave core is monitored, the function driven by the SPI interface is loaded, and the configuration of the complete function of the exchange chip is continuously completed by using the SPI interface.
Specific application scenario two
Fig. 2c is a schematic diagram of a specific application scenario in another method for starting an embedded device. In the application scenario, the embedded device is specifically a switch, the set embedded operating system may be an RTOS, and the general-purpose computer operating system may be a Linux operating system. And the CPU0 is used for task processing of the Linux operating system and the CPU1 is used for task processing of the RTOS. The switch is required to be installed with a quick-start application with high requirement on start time, wherein the quick-start application exists in an embedded operating system in an application 1 form and exists in a general computer operating system in an application 2 form.
Accordingly, when the user presses the start button of the switch, a switch startup instruction is triggered to be generated, the switch can trigger the execution of the boot program in the master core (CPU0) in response to the switch startup instruction, and after the target slave core (CPU1) starts the execution of the RTOS, the Linux operating system is started and executed in the master core. Accordingly, and using the multi-core boot function, the entry point of the CPU1 can be preset as the entry address of the embedded operating system RTOS. The CPU1 of the RTOS is started, the boot program is modified to start the parameters of the Linux operating system, the isolation parameters of the CPU0 and the memory are added, the use resources of the CPU1 are guaranteed not to be used by the Linux operating system, and the Linux operating system is started from the CPU 0.
Further, the initialization of the SPI interface, the network card, and the network switch chip is performed by the CPU1, and after the boot program starts the embedded operating system RTOS, the embedded operating system RTOS starts to initialize the SPI interface and the network card after completing the start thereof, and after the initialization of the SPI interface is completed, the SPI interface is configured to initialize the network switch chip. The embedded operating system RTOS then no longer takes over the SPI interface (by sending a first phase initialization completion notification), but is instead handed over to the Linux operating system. Meanwhile, in order to realize the quick start requirement of the quick start application, after releasing the control right of the SPI interface, the RTOS starts and runs the application 1 in the RTOS first.
After the Linux operating system is started on the CPU0, the Linux operating system executes initialization operation on the graphics card device, and after the SPI interface is successfully taken over, further configuration work of the network switch chip is completed based on the SPI interface, so that a complete network switch function can be realized. Correspondingly, after the hardware initialization of the network switching chip is completed, the application 2 can be started in the Linux operating system, so that the switching display of the quick-start application is realized.
The technical scheme of the embodiment of the invention realizes the parallel initialization of each hardware of the switch in the RTOS and the Linux operating system, and shortens the starting time of network switching. In the embodiment of the invention, the rapid starting characteristic of the RTOS is utilized to rapidly initialize each hardware in the switch, thereby realizing the basic switching function of the network. And after the Linux operating system is started, switching to the Linux operating system to start the application, thereby realizing the function of a higher-level network switch.
EXAMPLE III
Fig. 3 is a schematic structural diagram of a starting apparatus of an embedded device according to a third embodiment of the present invention, where the starting apparatus of an embedded device according to the third embodiment of the present invention may be implemented by software and/or hardware, and may be configured in various embedded devices to implement a starting method of an embedded device according to the third embodiment of the present invention. The embedded device is internally provided with a plurality of CPU cores and is provided with an embedded operating system and a general computer operating system.
As shown in fig. 3, the apparatus may specifically include: a parallel boot flow execution module 310, a first stage hardware initialization operation module 320, and a second stage hardware initialization operation module 330.
The parallel starting flow executing module 310 is configured to respond to a starting instruction for the embedded device, and execute a parallel starting flow for an embedded operating system and a general computer operating system;
the hardware initialization operation module 320 in the first stage is configured to perform hardware initialization operation in the first stage on each hardware in the embedded device after the embedded operating system is started;
the second-stage hardware initialization operation module 330 is configured to perform second-stage hardware initialization on each hardware in the embedded device after the general-purpose computer operating system is started, so as to implement quick start of the embedded device in the general-purpose computer operating system.
According to the technical scheme provided by the embodiment of the invention, the parallel starting process of the embedded operating system and the general computer operating system is executed by responding to the starting instruction of the embedded equipment; after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment; the method has the advantages that the hardware in the embedded equipment is initialized in the second stage by the aid of the general computer operating system after the general computer operating system is started, parallel initialization of the hardware in the embedded equipment is achieved by the aid of the embedded operating system and the general computer operating system in a matched mode by means of a multi-CPU core technology, starting speed of the embedded equipment provided with the general computer operating system is greatly increased, and requirements of specific application scenes on quick starting of the embedded equipment are met.
On the basis of the foregoing embodiments, the parallel boot flow executing module 310 may be specifically configured to: responding to a starting instruction of the embedded equipment, and triggering and executing a bootstrap program in the main core; by executing the bootstrap program, after the target slave core starts to execute the embedded operating system, the general computer operating system is started and executed in the master core; the entry point of the target slave core is preset as the entry address of the embedded operating system, and the CPU core used by the general computer operating system and the CPU core used by the embedded operating system are configured and isolated in the starting parameters of the bootstrap program in advance.
On the basis of the foregoing embodiments, the hardware initialization operation module 330 in the second stage may specifically be used for at least one of the following: through a general computer operating system, aiming at first-class hardware which completes hardware initialization of a first stage in embedded equipment, hardware initialization of a second stage is carried out; and through a general computer operating system, aiming at second hardware which is not subjected to hardware initialization of the first stage in the embedded equipment, hardware initialization of the second stage is carried out.
On the basis of the foregoing embodiments, the hardware initialization operation module 320 in the first stage may specifically include: a first-stage initialization completion notification subunit, configured to generate, through the embedded operating system, a first-stage initialization completion notification matching the target hardware whenever the first-stage hardware initialization operation on the target hardware in the embedded device is completed; the hardware initialization operation module 330 in the second stage may specifically include: and the target hardware identification subunit is used for identifying the target hardware matched with the first-stage initialization completion notice and executing the second-stage hardware initialization matched with the target hardware after the general computer operating system is started and when the first-stage initialization completion notice sent by the embedded operating system is monitored.
On the basis of the foregoing embodiments, the first-stage initialization completion notifying subunit may further be configured to: through an embedded operating system, if it is determined that intermediate data is generated in a target storage area in a shared memory for a first-stage hardware initialization operation of target hardware, adding an index address of the target storage area into a first-stage initialization completion notification; the target hardware identification subunit may be specifically configured to: and identifying the target hardware matched with the first-stage initialization completion notice and the index address of the target storage area through a general computer operating system, and executing second-stage hardware initialization matched with the target hardware according to the intermediate data acquired from the index address of the target storage area.
On the basis of the foregoing embodiments, the hardware initialization operation module 330 in the second stage may be specifically configured to: after the embedded operating system is started, a plurality of CPU cores distributed to the embedded operating system are called, and hardware initialization operation of a first stage is performed on each hardware in the embedded equipment in parallel.
On the basis of the above embodiments, the system may further include a quick-start application module, configured to: after the embedded operating system is started, the hardware in the embedded device is initialized in the first stage, and then the method may further be used to: when determining that the hardware initialization operation of the first stage of the quick-start hardware matched with the quick-start application is finished through an embedded operating system, running the quick-start application in the embedded operating system; the system may further include a quick-start application switching module, configured to: after the general computer operating system completes the startup, the second stage of hardware initialization is performed on each hardware in the embedded device, and the method can be further used for: and when determining that the hardware initialization operation of the first stage of the quick-start hardware is finished through a general computer operating system, switching the quick-start application to the general computer operating system to continue running.
The starting device of the embedded device can execute the starting method of the embedded device provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
Example four
Fig. 4 is a schematic structural diagram of an embedded device according to a fourth embodiment of the present invention. As shown in fig. 4, the apparatus includes a CPU core 410, a memory 420, an input device 430, and an output device 440; the number of CPU cores 410 in the device may be multiple, and fig. 4 takes multiple CPU cores 410 as an example; the CPU core 410, the memory 420, the input device 430 and the output device 440 in the apparatus may be connected by a bus or other means, and the bus connection is exemplified in fig. 4.
The memory 420 serves as a computer-readable storage medium, and may be used for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the starting method of the embedded device in the embodiment of the present invention (for example, the parallel starting procedure executing module 310, the hardware initialization operating module 320 of the first stage, and the hardware initialization operating module 330 of the second stage). The CPU core 410 executes various functional applications and data processing of the device by executing software programs, instructions and modules stored in the memory 420, that is, the method for starting the embedded device described above is implemented, and the method includes:
responding to a starting instruction of the embedded equipment, and executing a parallel starting process of an embedded operating system and a general computer operating system; after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment; after the general computer operating system is started, hardware initialization of a second stage is carried out on each hardware in the embedded equipment, so that the embedded equipment is quickly started in the general computer operating system.
The memory 420 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the memory 420 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, memory 420 may further include memory located remotely from CPU core 410, which may be connected to devices through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The input means 430 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the apparatus. The output device 440 may include a display device such as a display screen.
EXAMPLE five
An embodiment of the present invention further provides a storage medium containing computer-executable instructions, where the computer-executable instructions are executed by a computer processor to perform a method for starting an embedded device, and the method includes: responding to a starting instruction of the embedded equipment, and executing a parallel starting process of an embedded operating system and a general computer operating system; after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment; after the general computer operating system is started, hardware initialization of a second stage is carried out on each hardware in the embedded equipment, so that the embedded equipment is quickly started in the general computer operating system.
Of course, the storage medium provided by the embodiment of the present invention contains computer-executable instructions, and the computer-executable instructions are not limited to the method operations described above, and may also perform related operations in the method for starting the embedded device provided by any embodiment of the present invention.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods according to the embodiments of the present invention.
It should be noted that, in the embodiment of the starting apparatus of the embedded device, each unit and each module included in the embodiment are only divided according to functional logic, but are not limited to the above division, as long as the corresponding function can be realized; in addition, specific names of the functional units are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present invention.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (10)

1. A starting method of an embedded device, wherein a plurality of CPU cores are arranged in the embedded device, and an embedded operating system and a general computer operating system are installed in the embedded device, and the method is characterized by comprising the following steps:
responding to a starting instruction of the embedded equipment, and executing a parallel starting process of an embedded operating system and a general computer operating system;
after the embedded operating system is started, hardware initialization operation of a first stage is carried out on each hardware in the embedded equipment;
after the general computer operating system is started, hardware initialization of a second stage is carried out on each hardware in the embedded equipment, so that the embedded equipment is quickly started in the general computer operating system.
2. The method of claim 1, wherein executing a concurrent boot flow of the embedded operating system and the general-purpose computer operating system in response to a boot instruction for the embedded device comprises:
responding to a starting instruction of the embedded equipment, and triggering and executing a bootstrap program in the main core;
by executing the bootstrap program, after the target slave core starts to execute the embedded operating system, the general computer operating system is started and executed in the master core;
the entry point of the target slave core is preset as the entry address of the embedded operating system, and the CPU core used by the general computer operating system and the CPU core used by the embedded operating system are configured and isolated in the starting parameters of the bootstrap program in advance.
3. The method of claim 1, wherein performing a second stage of hardware initialization on each hardware in the embedded device after the booting is completed by the general-purpose computer operating system, comprises at least one of:
through a general computer operating system, aiming at first-class hardware which completes hardware initialization of a first stage in embedded equipment, hardware initialization of a second stage is carried out;
and through a general computer operating system, aiming at second hardware which is not subjected to hardware initialization of the first stage in the embedded equipment, hardware initialization of the second stage is carried out.
4. The method according to claim 1, wherein after the embedded operating system is started, performing a first-stage hardware initialization operation on each hardware in the embedded device, specifically comprising:
through an embedded operating system, when the hardware initialization operation of the first stage of target hardware in the embedded equipment is completed, a first stage initialization completion notice matched with the target hardware is generated;
after the startup is completed through the general computer operating system, performing hardware initialization of a second stage on each hardware in the embedded device, specifically including:
after the general computer operating system is started, whenever a first-stage initialization completion notification sent by an embedded operating system is monitored, target hardware matched with the first-stage initialization completion notification is identified, and second-stage hardware initialization matched with the target hardware is executed.
5. The method of claim 4, wherein generating, by the embedded operating system, a first-stage initialization completion notification matching the target hardware whenever a first-stage hardware initialization operation on the target hardware in the embedded device is completed, further comprises:
through an embedded operating system, if it is determined that intermediate data is generated in a target storage area in a shared memory for a first-stage hardware initialization operation of target hardware, adding an index address of the target storage area into a first-stage initialization completion notification;
identifying, by a general-purpose computer operating system, target hardware matched with the first-stage initialization completion notification, and executing second-stage hardware initialization matched with the target hardware, specifically including:
and identifying the target hardware matched with the first-stage initialization completion notice and the index address of the target storage area through a general computer operating system, and executing second-stage hardware initialization matched with the target hardware according to the intermediate data acquired from the index address of the target storage area.
6. The method according to any one of claims 1 to 5, wherein after the booting is completed, the embedded operating system performs a first-stage hardware initialization operation on each hardware in the embedded device, including:
after the embedded operating system is started, a plurality of CPU cores distributed to the embedded operating system are called, and hardware initialization operation of a first stage is performed on each hardware in the embedded equipment in parallel.
7. The method according to any one of claims 1-5, further comprising, after performing a first-stage hardware initialization operation on each hardware in the embedded device after the booting is completed by the embedded operating system:
when determining that the hardware initialization operation of the first stage of the quick-start hardware matched with the quick-start application is finished through an embedded operating system, running the quick-start application in the embedded operating system;
after the startup is completed through the general computer operating system, after the hardware initialization of the second stage is performed on each hardware in the embedded device, the method further includes:
and when determining that the hardware initialization operation of the first stage of the quick-start hardware is finished through a general computer operating system, switching the quick-start application to the general computer operating system to continue running.
8. A starting device of an embedded device, the embedded device is internally provided with a plurality of CPU cores and is provided with an embedded operating system and a general computer operating system, the device is characterized by comprising:
the parallel starting flow executing module is used for responding to a starting instruction of the embedded equipment and executing the parallel starting flow of the embedded operating system and the general computer operating system;
the hardware initialization operation module in the first stage is used for performing hardware initialization operation in the first stage on each hardware in the embedded equipment after the embedded operating system is started;
and the hardware initialization operation module in the second stage is used for performing hardware initialization in the second stage on each hardware in the embedded equipment after the general computer operating system is started, so as to realize quick start of the embedded equipment in the general computer operating system.
9. An embedded device comprising a memory, a plurality of CPU cores and a computer program stored in the memory and operable on the CPU cores, an embedded operating system and a general-purpose computer operating system being installed on different CPU cores, respectively, characterized in that at least one CPU core implements the method for booting the embedded device according to any one of claims 1-7 when executing the computer program.
10. A storage medium of computer executable instructions, on which a computer program is stored, characterized in that the computer program, when executed by a CPU core, implements a method of booting an embedded device according to any one of claims 1-7.
CN202111303963.5A 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium Active CN114020342B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210846962.3A CN115237480A (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium
CN202111303963.5A CN114020342B (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111303963.5A CN114020342B (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210846962.3A Division CN115237480A (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114020342A true CN114020342A (en) 2022-02-08
CN114020342B CN114020342B (en) 2022-08-16

Family

ID=80061530

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210846962.3A Pending CN115237480A (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium
CN202111303963.5A Active CN114020342B (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210846962.3A Pending CN115237480A (en) 2021-11-05 2021-11-05 Starting method and device of embedded equipment, embedded equipment and storage medium

Country Status (1)

Country Link
CN (2) CN115237480A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038981A1 (en) * 2003-08-15 2005-02-17 Connor Patrick L. System and method for accelerated device initialization
CN1673962A (en) * 2004-03-25 2005-09-28 Lg电子株式会社 Computer system having multi-operation system and method for changing operating system in computer system
CN102929713A (en) * 2012-10-08 2013-02-13 清华大学 Loosely coupled heterogeneous multi-core processing system supporting parallelism of multiple operating systems
CN108108199A (en) * 2017-12-21 2018-06-01 北京东土科技股份有限公司 Multiple operating system starts method and device on a kind of multi-core CPU
CN109426523A (en) * 2017-08-18 2019-03-05 厦门雅迅网络股份有限公司 Dual system starts method and computer readable storage medium
CN109558174A (en) * 2018-11-28 2019-04-02 江苏艾萨克机器人股份有限公司 RTOS-GPOS dual operating systems robot controller based on ZYNQ dual core processor
CN111142651A (en) * 2019-05-09 2020-05-12 广东小天才科技有限公司 System switching method of communication terminal and communication terminal
CN111381894A (en) * 2020-02-21 2020-07-07 杨百涛 Method for realizing rapid starting and simultaneous working of slave system during starting of complex time-sharing operating system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038981A1 (en) * 2003-08-15 2005-02-17 Connor Patrick L. System and method for accelerated device initialization
CN1673962A (en) * 2004-03-25 2005-09-28 Lg电子株式会社 Computer system having multi-operation system and method for changing operating system in computer system
CN102929713A (en) * 2012-10-08 2013-02-13 清华大学 Loosely coupled heterogeneous multi-core processing system supporting parallelism of multiple operating systems
CN109426523A (en) * 2017-08-18 2019-03-05 厦门雅迅网络股份有限公司 Dual system starts method and computer readable storage medium
CN108108199A (en) * 2017-12-21 2018-06-01 北京东土科技股份有限公司 Multiple operating system starts method and device on a kind of multi-core CPU
CN109558174A (en) * 2018-11-28 2019-04-02 江苏艾萨克机器人股份有限公司 RTOS-GPOS dual operating systems robot controller based on ZYNQ dual core processor
CN111142651A (en) * 2019-05-09 2020-05-12 广东小天才科技有限公司 System switching method of communication terminal and communication terminal
CN111381894A (en) * 2020-02-21 2020-07-07 杨百涛 Method for realizing rapid starting and simultaneous working of slave system during starting of complex time-sharing operating system

Also Published As

Publication number Publication date
CN114020342B (en) 2022-08-16
CN115237480A (en) 2022-10-25

Similar Documents

Publication Publication Date Title
CN110495136B (en) Hardware attribute discovery method and system of bare metal server
JP4864817B2 (en) Virtualization program and virtual computer system
CN101421700B (en) Method and apparatus to support independent systems in partitions of a processing system
US8051281B2 (en) Operating system startup control method and information processing apparatus
CN103677807A (en) Customizing program logic for booting a system
CN113360257B (en) Information operation method and device based on BIOS, storage medium and equipment
JP5316432B2 (en) Network controller control method, program, and information processing apparatus
US20110047550A1 (en) Software program execution device, software program execution method, and program
CN107273765B (en) Processor based on double virtual kernel mechanism
CN110489305B (en) Server management method and device
JP2011060225A (en) Operating system booting method
CN114020342B (en) Starting method and device of embedded equipment, embedded equipment and storage medium
CN106844035B (en) Method and device for realizing resource release or recovery of cloud server
CN113094111B (en) Device and method for starting device
CN1867895B (en) Method and device for operating a secondary operating system auxiliary to a primary operating system
CN113703914B (en) Test method and test system
CN112764822A (en) Operating system starting method, device, equipment and medium
JPH0799674A (en) Partial file updating system for information processor
JP5365840B2 (en) Multiprocessor system and method of operating multiprocessor system
CN111796939A (en) Processing method and device and electronic equipment
CN113282344B (en) Method for realizing weather operating system on Feiteng asymmetric dual-core processor
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
CN114625427B (en) Partition starting method, system and equipment based on hard isolation
JP7070079B2 (en) Controls and programs
WO2021181537A1 (en) Information processor, information processing method, and information processing program

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
GR01 Patent grant
GR01 Patent grant