CN112395018A - Direction control application starting method and device, electronic equipment and storage medium - Google Patents

Direction control application starting method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112395018A
CN112395018A CN202011417256.4A CN202011417256A CN112395018A CN 112395018 A CN112395018 A CN 112395018A CN 202011417256 A CN202011417256 A CN 202011417256A CN 112395018 A CN112395018 A CN 112395018A
Authority
CN
China
Prior art keywords
direction control
cpu core
control application
operating system
cpu
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
CN202011417256.4A
Other languages
Chinese (zh)
Other versions
CN112395018B (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.)
Hubei Xinqing Technology Co ltd
Original Assignee
Hubei Xinqing 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 Hubei Xinqing Technology Co ltd filed Critical Hubei Xinqing Technology Co ltd
Priority to CN202011417256.4A priority Critical patent/CN112395018B/en
Publication of CN112395018A publication Critical patent/CN112395018A/en
Application granted granted Critical
Publication of CN112395018B publication Critical patent/CN112395018B/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/4418Suspend and resume; Hibernate and awake
    • 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/451Execution arrangements for user interfaces

Abstract

The embodiment of the application provides a method and a device for starting a direction control application, electronic equipment and a storage medium, and relates to the technical field of electronic equipment. The method comprises the following steps: after receiving a CPU core awakening instruction, awakening the at least two CPU cores; after the at least two CPU cores are awakened, loading a bare metal deployment program to a first CPU core, and loading an operating system kernel of the electronic device to a second CPU core, so that the first CPU core starts the bare metal deployment program, and the second CPU core starts an operating system of the electronic device, wherein the bare metal deployment program comprises a first direction control application; controlling a first CPU core to initialize the associated hardware of a first direction control application after a bare metal deployment program is started; the first CPU core is controlled to start a first direction control application. According to the method and the device, the direction control application is started quickly under the conditions that the hardware cost of the electronic equipment is not increased and the starting process and time of an operating system of the electronic equipment are not influenced, so that the direction control signal is responded quickly.

Description

Direction control application starting method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of electronic device technologies, and in particular, to a method and an apparatus for starting a direction control application, an electronic device, and a storage medium.
Background
At present, most systems of electronic equipment are based on an Android system, and the Android system is long in starting time, which is usually more than 7 seconds. For safety, the electronic device needs to respond to the direction control signal immediately after cold start to display the current video (video image). If the direction control application is started after the Android system is started, the time for starting the direction control application is more than 7 seconds, and the requirement for immediately responding to the direction control signal cannot be met.
In order to solve the problem, an existing scheme is that after a system is started for the first time, the system enters a sleep mode each time, and the system is waken up from the sleep mode each time, so as to meet the requirement of rapidly displaying videos; by adopting the dormancy mechanism, although the video display time is shortened, the dormancy mechanism can enable the system to stay in the memory for a long time, so that fragmentation of the system memory is increased, the working stability is reduced, and meanwhile, the system can consume extra electric quantity because the system is in the dormancy state for a long time. The other scheme is that a micro-control unit is added, and the micro-control unit is used for rapidly displaying videos; although the micro-control unit can shorten the video display time, it adds extra hardware cost, and needs to modify the hardware architecture, which increases the complexity of hardware and software.
Therefore, how to implement quick start of the direction control application to achieve quick display of a video is a technical problem that needs to be solved urgently by those skilled in the art.
Disclosure of Invention
The embodiment of the application provides a method and a device for starting a direction control application, an electronic device and a storage medium, which can quickly start the direction control application to quickly respond a direction control signal under the conditions of not increasing the hardware cost of the electronic device and not influencing the starting flow and time of an operating system of the electronic device.
The embodiment of the application provides a direction control application starting method, which runs in electronic equipment, wherein the electronic equipment comprises at least two CPU cores, and the direction control application starting method comprises the following steps:
after receiving a CPU core awakening instruction, awakening at least two CPU cores;
after the at least two CPU cores are awakened, loading a bare metal deployment program to a first CPU core, and loading an operating system kernel of the electronic device to a second CPU core, so that the first CPU core starts the bare metal deployment program, and the second CPU core starts an operating system of the electronic device, wherein the bare metal deployment program comprises a first direction control application;
controlling a first CPU core to initialize the associated hardware of a first direction control application after a bare metal deployment program is started;
the first CPU core is controlled to start a first direction control application.
An embodiment of the present application further provides a direction control application starting apparatus, which runs in an electronic device, where the electronic device includes at least two CPU cores, and the direction control application starting apparatus includes:
the wake-up unit is used for waking up at least two CPU cores after receiving the CPU core wake-up instruction;
the loading unit is used for loading the bare engine deployment program to a first CPU core and loading the operating system kernel of the electronic equipment to a second CPU core after at least two CPU cores are awakened, so that the first CPU core starts the bare engine deployment program and the second CPU core starts the operating system of the electronic equipment, and the bare engine deployment program comprises a first direction control application;
the first control unit is used for controlling the first CPU core to initialize the associated hardware of the first direction control application after the bare metal deployment program is started;
and the second control unit is used for controlling the first CPU core to start the first direction control application.
An embodiment of the present application further provides an electronic device, where the electronic device includes:
one or more processors; a memory; and one or more computer programs, wherein the processor is coupled to the memory, the one or more computer programs being stored in the memory and configured to be executed by the processor to perform the above-described directional control application launching method.
An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the steps in any one of the above methods for starting a direction control application are implemented.
According to the embodiment of the application, after the CPU core awakening instruction is received, at least two CPU cores are awakened; after the at least two CPU cores are awakened, loading a bare engine deployment program to a first CPU core, and loading an operating system kernel of the electronic device to a second CPU core, so that the first CPU core starts the bare engine deployment program, and the second CPU core starts an operating system of the electronic device, wherein the bare engine deployment program comprises a first direction control application; controlling a first CPU core to initialize the associated hardware of a first direction control application after a bare metal deployment program is started; and the first direction control application is launched. After the CPU core is awakened, a bare computer deployment program is loaded to a first CPU core, and meanwhile, an operating system kernel of the electronic equipment is loaded to a second CPU core, so that the first CPU core starts a first direction control application and the second CPU core starts an operating system of the electronic equipment, therefore, the operating system of the electronic equipment is normally started, and the first direction control application is started at the same time, the starting flow and the starting time of the operating system of the electronic equipment are not influenced, the first direction control application can be quickly started, and a direction control signal is quickly responded; on the other hand, it is understood that after the first CPU core is used to start the first direction control application, the first direction control application is in an executable state, and in the process of starting the operating system of the electronic device, it is not necessary to detect whether there is a direction control signal or not, and other related operations, so that the starting flow and starting time of the operating system of the electronic device are not affected, the starting flow of the operating system of the electronic device is not interrupted by the direction control signal, and the bare metal deployment program does not occupy the interrupt resource, and when the direction control signal is detected, the operating system can be operated at any time; in addition, the first direction control application is started by using the first CPU core, namely, the first direction control application is started by using an independent CPU core, so that the additional hardware cost is not increased, and the processing function of the video image can be improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flowchart of a method for starting a directional control application according to an embodiment of the present application;
fig. 2 is another schematic flow chart of a method for starting a directional control application according to an embodiment of the present application;
fig. 3 is another schematic flow chart of a method for starting a directional control application according to an embodiment of the present application;
fig. 4 is a schematic flowchart of processing video data according to an embodiment of the present application;
fig. 5 is another schematic flow chart of a method for starting a directional control application according to an embodiment of the present application;
FIG. 6 is a flowchart illustrating a CPU core boot process according to an embodiment of the present disclosure;
FIG. 7 is a flowchart illustrating the operation of a first direction control application according to an embodiment of the present disclosure;
FIG. 8 is a schematic structural diagram of a directional control application starting device according to an embodiment of the present application;
fig. 9 is another schematic structural diagram of a direction control application starting device provided in an embodiment of the present application;
fig. 10 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The embodiment of the application provides a method and a device for starting a direction control application, electronic equipment and a storage medium. Any direction control application starting device provided by the embodiment of the application can be integrated in electronic equipment. The electronic device may be various devices that are installed with an operating system and require direction control and direction control image display. The following embodiments are described by taking an example in which the direction control application starting method is applied to a scene of a vehicle-mounted device, the electronic device is a vehicle which is installed with an operating system and can realize direction control and direction control video image display, but the present application is not limited thereto, and the direction control application method of the present application can be applied to any device which is installed with an operating system and can realize direction control and direction control video image display. The system of the electronic equipment can be an android system, an apple system and other systems. The electronic device includes at least two CPU cores (CPU cores) having an interrupt resource.
In the embodiment of the present application, an operating system of an electronic device will be described as an example of an android system.
Please refer to fig. 1, which is a flowchart illustrating a method for starting a direction control application according to an embodiment of the present application. The direction control application starting method is applied to electronic equipment, the electronic equipment comprises at least two CPU cores, and the direction control application starting method comprises the following steps. The directional control application launching method may be understood in particular in conjunction with fig. 5.
101, after receiving the CPU core wake-up instruction, waking up at least two CPU cores.
When the electronic device is in cold Boot, a Boot loader (Boot loader) is loaded from a memory at first, and the Boot loader includes a Boot ROM program and an SBL (second Boot loader) program, where the Boot ROM program is a first section of program that runs after the system is powered on, and the SBL program is a second section of program that runs after the system is powered on. When the system is started to the later stage of the boot loader, namely, the system is started to one stage in the SBL program, the electronic equipment receives the CPU core awakening instruction and awakens at least two CPU cores according to the CPU core awakening instruction. Waking up a CPU core may be understood as waking up all CPU cores in an electronic device; or may be a CPU core that needs to be used when the electronic device is woken up for starting, such as a first CPU core and a second CPU core included in the following.
And 102, after the at least two CPU cores are awakened, loading the bare metal deployment program to a first CPU core, and loading the operating system kernel of the electronic device to a second CPU core, so that the first CPU core starts the bare metal deployment program, and the second CPU core starts the operating system of the electronic device, where the bare metal deployment program includes the first direction control application.
The bare metal deployment program (barefoot program) comprises a first direction control application, and for example, in a vehicle-mounted device scene, the first direction control application can be understood as a first reverse application. It can be simply understood that writing the first direction control application into the barecetal environment allows the first direction control application to run in a CPU core without an operating system, and opening the barecetal program is understood to be opening the first direction control application. kernel is a kernel, is a core of an operating system, provides the most basic functions of the operating system, is the basis of the operation of the operating system, and is responsible for managing processes, memories, device drivers, files and network systems of the system and determining the performance and stability of the system.
The method comprises the steps of presetting a first CPU core used for loading a bare engine deployment program and a second CPU core used for loading an operating system core of the electronic equipment in the CPU cores of the electronic equipment, determining a first CPU core identifier of the first CPU core used for loading the bare engine deployment program and determining a second CPU core identifier of the second CPU core used for loading the operating system core of the electronic equipment.
It is to be understood that the CPU core of the electronic device is divided into a first CPU core and a second CPU core, where the number of the first CPU core is one, and the remaining cores of the electronic device excluding the first CPU core are taken as the second CPU core. For example, the total number of cores in the electronic device is 4, the number of first CPU cores is 1, and the number of second CPU cores is 3; the total number of cores in the electronic device is 8, the number of first CPU cores is 1, and the number of second CPU cores is 7. In some cases, the remaining cores of the electronic device except the first CPU core are used as the second CPU core, and it is understood that not all of the remaining cores are used for loading the operating system kernel of the electronic device and for starting the operating system, and some cores may be reserved for other purposes.
The method comprises the steps of firstly setting a CPU core identifier of a CPU core, then determining a first CPU core identifier of a first CPU core for loading a bare metal deployment program, and determining a second CPU core identifier for loading an operating system kernel of the electronic equipment. In the embodiment of the present application, 4 CPU cores, 1 first CPU core, and 3 second CPU cores are taken as an example for description. The CPU core identifications of the 4 CPU cores are set to be CPU0, CPU1, CPU2, and CPU3, respectively. The second CPU core of the operating system kernel of the electronic device is determined to be loaded as CPU0, CPU1 and CPU2, and the first CPU core of the bare metal deployment program is determined to be loaded as CPU 3.
After the corresponding CPU core identification is determined, correspondingly loading the bare metal deployment program to the first CPU core and loading the operating system kernel of the electronic device to the second CPU core, wherein the steps comprise: loading a bare metal deployment program to a first CPU core according to the first CPU core identifier; and loading the operating system kernel of the electronic equipment to the second CPU core according to the second CPU core identifier.
103, controlling the first CPU core to initialize the associated hardware of the first direction control application after starting the bare metal deployment program.
The related hardware of the direction control application comprises a camera, a camera interface, an image processing unit, a distortion correction unit, a display interface, a display screen and the like of the electronic equipment.
After a system of the electronic device is powered on, the electronic device controls the first CPU core to initialize the associated hardware of the first direction control application after the bare metal deployment program is started.
And 104, controlling the first CPU core to start the first direction control application.
After the initialization of the associated hardware of the first direction control application is completed, the electronic device controls the first CPU core to start the first direction control application.
According to the method, after the CPU core is awakened, the bare computer deployment program is loaded to the first CPU core, and meanwhile, the operating system core of the electronic equipment is loaded to the second CPU core, so that the first CPU core starts the first direction control application, and the second CPU core starts the operating system of the electronic equipment, therefore, the operating system of the electronic equipment is normally started, and the first direction control application is started at the same time, the starting flow and the starting time of the operating system of the electronic equipment are not influenced, the first direction control application can be quickly started, and the direction control signal is quickly responded. On the other hand, it is understood that the bare metal deployment program is an independent application that implements a fast direction control display when the system is in cold boot, and it coexists with the operating system, and uses an independent CPU core in the electronic device, but does not occupy interrupt resources, so the first direction control application can be used no matter which stage the operating system is booted, i.e. after the first direction control application is booted using the first CPU core, the first direction control application is in an executable state, and in the process of booting the operating system of the electronic device using the second CPU core, it is not necessary to detect whether there is a related operation such as a direction control signal, and the boot flow and boot time of the operating system of the electronic device are not affected, and the boot flow of the operating system of the electronic device is not interrupted/interrupted by the direction control signal. In addition, the first direction control application is started by using the first CPU core, namely, the first direction control application is started by using an independent CPU core, so that the additional hardware cost is not increased, and the processing function of the video image can be improved.
Fig. 2 is a flowchart illustrating a method for starting a direction control application in an embodiment of the present application. The direction control application start mode includes the following steps 201 to 207.
And 201, after receiving the CPU core wake-up instruction, waking up at least two CPU cores.
202, after the at least two CPU cores are woken up, loading the bare metal deployment program to a first CPU core, and loading the operating system kernel of the electronic device to a second CPU core, so that the first CPU core starts the bare metal deployment program, and so that the second CPU core starts the operating system of the electronic device, where the bare metal deployment program includes the first direction control application.
And 203, controlling the first CPU core to initialize the associated hardware of the first direction control application after starting the bare metal deployment program.
And 204, controlling the first CPU core to start the first direction control application.
Please refer to the corresponding descriptions in steps 101 to 104 above for steps 201 to 204.
205, when the first CPU core detects the direction control signal and does not receive the start notification sent by the second CPU core that the operating system has been started, control the first direction control application to acquire the video data from the camera through the camera interface.
If in a vehicle-mounted device scene, the first CPU core detects a reverse signal, that is, detects a direction control signal, which means that the electronic device is about to start direction control (such as reversing); in other scenarios, whether a directional control signal is detected is determined by other means. If the starting notification that the operating system is started and sent by the second CPU core is not received, it means that the current operating system of the electronic device is not started yet, and the second direction control application in the operating system cannot be used for direction control, so that the video image is displayed. Therefore, when the first CPU core detects the direction control signal and does not receive the start notification sent by the second CPU core that the operating system has been started, the first direction control application in the first CPU core is controlled to acquire the video data from the camera through the camera interface.
It is understood that, after the operating system is started, the second CPU core sends a start notification that the operating system is started to the first CPU core to notify the first CPU core that the operating system is currently started. The first CPU core and the second CPU core are communicated in an inter-core communication mode.
In the first CPU core, detecting a direction control signal, detecting a start state of an operating system, detecting a hardware state of a camera, an image processing unit, a display unit, and the like may be implemented by a related event, and the first direction control application obtains a state of the corresponding related event by circularly processing the related event, which is described in detail below with reference to fig. 7.
It should be noted that, in the process that the first CPU core is controlling the first direction control application to acquire the video data from the camera through the camera interface, if a start notification sent by the second CPU core that the operating system is started is received, the first direction control application is still controlled to acquire the video data from the camera through the camera interface at this time until the direction control is finished. If the forward gear signal is detected in the scene of the vehicle-mounted equipment, the direction control is finished; in other scenarios, whether this time direction control is ended is determined by other means.
206, controlling the first direction control application to process the video data to obtain the video image.
Since the first direction control is applied to an independent CPU core, the processing capability of the independent CPU core is much stronger than that of a microprocessor, so that the independent CPU core can be fully utilized to process video data to obtain a processed video image.
Specifically, as shown in fig. 3, the step of controlling the first direction control application to process the video data to obtain the video image includes the following steps 301 to 305.
301, controlling the first direction control application to acquire each frame of initial direction control image data in the video data according to the status bit of the camera.
The acquired video data from the camera is initial direction control image data of one frame by one frame, and as in the scene of the in-vehicle apparatus, the initial direction control image data is also understood as initial reverse image data. The camera is provided with a corresponding state bit to represent the state of the camera, when the camera shoots a frame of initial direction control image data, the state bit of the camera is modified to represent that the initial direction control image data exists in the camera, and other associated hardware can acquire the initial direction control image data to process the initial direction control image data. If the status bits corresponding to the camera are represented by 0 and 1, 0 indicates that there is no initial direction control image data in the camera, and 1 indicates that there is initial direction control image data in the camera. And after the camera shoots a frame of initial direction control image data, the state bit of the camera is modified from 0 to 1. And the first direction control application inquires the state bit of the camera, acquires the frame initial direction control image data if the state bit of the camera is 1, and sends the frame initial direction control image data to the next processing unit for processing. In this way, the control first direction control application acquires each frame of initial direction control image data from the camera shooting through the camera interface.
It can be understood that the first CPU core is a bare core, and is not currently interrupted by resources, and therefore, the corresponding software program needs to acquire the status bit of the associated hardware of the first direction control application in a query manner.
And 302, sending each frame of initial direction control image data to an image processing unit for image processing to obtain image processed intermediate direction control image data, and modifying the state bit of the image processing unit.
The image processing unit may be configured to perform various processing on the image, such as filter processing, blur removal processing, and the like, to obtain image data for controlling the middle direction after the image processing. The image processing unit is provided with a corresponding state bit, and after the image processing unit completes the processing of the image data of the initial direction of one frame, the state bit of the image processing unit is modified to indicate that the image processing unit has the image data of the middle direction after the image processing. For example, the status bits corresponding to the image processing units are represented by 0 and 1, so that after the image processing unit completes processing, the status bit of the image processing unit is modified from 0 to 1, the first direction control application queries the status bit of the image processing unit (for example, the status bit is 1), and sends the frame middle direction control image data to the next processing unit for processing according to the value of the status bit. After the frame of intermediate direction control image data is sent to the next processing unit, if the intermediate direction control image data which is not processed by the image processing unit is currently finished, the state bit is modified, and the state bit is modified from 1 to 0.
It should be noted that, in the embodiment of the present application, the status bits are represented by 0 and 1 as an example, in other embodiments, the status bits may be represented by any value, such as yes and no, 1 and-1, and so on.
In one case, after the image-processed intermediate direction control image data is obtained, the image-processed intermediate direction control image data may be directly transmitted to the display unit for display processing.
303, according to the status bit of the image processing unit, sending the image processed intermediate direction control image data to the distortion correction unit for distortion correction processing to obtain the distortion corrected intermediate direction control image data, and modifying the status bit of the distortion correction unit.
Wherein the distortion correction processing unit is operable to de-distort the image. The image data obtained by shooting through the camera often has certain distortion, and after distortion correction processing is carried out, the image data is controlled in the middle direction after the distortion correction processing is carried out, so that the finally obtained video image looks easier to understand, and the user experience is improved. In particular, when the camera is a fisheye camera, distortion of image data captured by the fisheye camera is large, and it is necessary to perform distortion correction processing on the image data captured by the fisheye camera.
Wherein, the distortion correction processing unit is consistent with the image processing unit and is also correspondingly provided with a state bit. Assuming that the status bits are represented by 0 and 1, when the distortion correction unit completes the distortion processing of the received one-frame image processed intermediate direction control image data, the status bits of the distortion correction unit are modified to represent that the distortion corrected intermediate direction control image data exists in the current distortion correction unit. The first direction control application queries the status bit (e.g., status bit is 1) of the distortion correction processing unit and sends the frame middle direction control image data to the next processing unit for processing according to the value of the status bit. After the frame of intermediate direction control image data is sent to the next processing unit, if the intermediate direction control image data which is not processed by the distortion correction processing unit is not processed, the state bit of the distortion correction processing unit is modified, and the state bit is modified from 1 to 0. Please refer to the description of the image processing unit above, which is not described herein again.
And 304, according to the status bit of the distortion correction unit, sending the intermediate direction control image data to the display unit for display processing to obtain target direction control image data, and modifying the status bit of the display unit.
Wherein the processing of the display unit comprises rotation, color transformation, etc. The display unit obtains the target direction control image data after performing display processing, and the processing of the display unit is mainly to enable the corresponding image data to be displayed on a display screen.
Similarly, the display unit is consistent with the image processing unit, and is also correspondingly provided with a status bit. And setting the status bits to be 0 and 1, and modifying the status bits of the display unit to indicate that the target direction control image data after display processing exists in the current display unit when the display unit finishes the display processing of the received frame of middle direction control image data. The first direction control application sends the frame target direction control image data to the display screen for display by inquiring the status bit (for example, the status bit is 1) of the display unit and according to the value of the status bit. After the frame of target direction control image data is sent to the display screen, if the target direction control image data which is processed by the display unit is not processed currently, the state bit of the display unit is modified, and the state bit is modified from 1 to 0. Specifically, please refer to the description of the image processing unit above, which is not repeated herein.
The image data is controlled in accordance with a plurality of target directions after the display processing by the display unit 305, and a video image is formed.
And combining the plurality of target direction control image data after the display processing of the display unit according to a time sequence to form a video image.
The steps are used for processing the video data from the camera to obtain the video image. It should be noted that, in this embodiment of the application, the first CPU core and the second CPU core have one interrupt resource, and since the second CPU core is used to start an operating system of the electronic device, during the starting process of the operating system, the use of the interrupt resource (the interrupt resource is not used to detect the direction control signal) is necessarily involved, in order not to affect the starting process of the operating system in the second CPU core, the interrupt resource needs to be given to the second CPU core, and the first CPU core does not have a corresponding interrupt resource (interrupt hardware resource). Since there is no corresponding interrupt resource in the first CPU core, the first CPU core cannot acquire the corresponding event in an interrupt manner, and instead polls the state (status bit) of the relevant hardware unit through a software program in the first CPU core, and controls the data flow from one hardware unit to the next hardware unit.
It is understood that the system architecture on the electronic device chip is not an SMP architecture (Symmetric Multi-Processor) or an AMP architecture (Symmetric Multi-Processor), but an architecture between the SMP architecture and the AMP architecture. The advantage of this architecture is that, compared to AMP systems, there is no need to design a separate set of interrupt hardware resources for bare-metal deployment programming; compared with an SMP system, in a scene without using virtualization, a separate application (such as a bare metal deployment program) can be run outside a main operating system (such as an Android system).
And 207, controlling the first direction control application to display the video image on the display screen of the electronic equipment.
And displaying the video image on a display screen through a display interface so as to display the video image in real time. Specifically, after the status bit of the display unit indicates that the target direction control image data exists in the display unit, the target direction control image data is sent to the display screen through the display interface to be displayed.
The embodiment describes that after the first direction control application is started, when the first CPU core detects a direction control signal and does not receive a start notification sent by the second CPU core that the operating system has been started, the first direction control application is controlled to perform corresponding processing, so as to quickly realize display of a video image.
In some cases, as shown in fig. 2, the direction control application launching method further includes steps 208 to 209. The details may be further understood in conjunction with fig. 5.
And 208, when the first CPU core does not detect the direction control signal and receives a starting notice that the operating system is started and sent by the second CPU core, controlling the first CPU core to close the bare metal deployment program.
And detecting whether a direction control signal exists or not, if the direction control signal is not detected, and receiving a starting notice that the operating system is started and sent by the second CPU core, the fact that the direction control is not needed currently, the video image is not needed to be displayed, and the operating system is started means that the first CPU core is controlled to close the bare metal deployment program, and the first direction control application is ended. And closing the bare metal deployment program, namely, relating the first direction control application.
In some cases, when a start notification that the operating system is started is received and the direction control signal is not detected, the first CPU core is controlled to modify a state flag bit corresponding to the first CPU core in the memory, and the use state of the first CPU core is represented by the state flag bit. The value of the status flag bit includes a first flag value and a second flag value, the first flag value indicates that the direction control is not completed and the corresponding first CPU core is in use, the second flag value indicates that the direction control is completed and the corresponding first CPU core is not in use. And when a starting notice that the operating system is started and the direction control signal is not detected, which is sent by the second CPU core, controlling the first CPU core to modify the corresponding state zone bit in the memory, and modifying the value of the state zone bit from the first zone bit value to the second zone bit value. Before releasing the first CPU core, controlling the first CPU core to modify the corresponding status flag bit in the memory. Modifying the corresponding status flag bit in the memory means that the associated hardware and the first CPU core can be released.
And 209, controlling the first CPU core to release the associated hardware and release the first CPU core.
And after the first direction control application is finished, controlling the first CPU core to release the associated hardware so that a subsequent operating system can acquire the use right of the associated hardware. The first CPU core is released because the current operating system is up and there is no need to deploy the program using the bare metal.
And after the first CPU core is released, controlling the first CPU core to be powered off through the operating system of the second CPU core.
In some cases, during a cold start of the electronic device, the direction control signal is not detected, and thus after the first CPU core is controlled to start the first direction control application, when the first CPU core receives a start notification sent by the second CPU core that the operating system is started, the first CPU core is controlled to close the bare metal deployment program, and to release the associated hardware, and release the first CPU core.
On the basis of the above-described embodiment, after releasing the first CPU core, as shown in fig. 4, the direction control application starting method further includes the following steps 401 to 404. The details can be further understood in conjunction with fig. 5.
401, the second CPU core is controlled to detect whether the first CPU core has been released.
Specifically, the second CPU core is controlled to detect the use state of the first CPU core; whether the first CPU core is released is determined according to the use state of the first CPU core. If the state flag bit corresponding to the first CPU core in the memory is obtained; if the value of the status flag bit corresponding to the first CPU core is the second status value, determining that the first CPU core is released; and if the value of the state flag bit corresponding to the first CPU core is the first state value, determining that the first CPU core is not released.
And 402, if the first CPU core is released, controlling the second CPU core to recycle the first CPU core.
And if the first CPU core is released, controlling the second CPU core to recycle the first CPU core. Specifically, the operating system kernel is controlled to recycle the first CPU core in a hot plug (Hotplug) manner, so that the first CPU core is recycled to the operating system of the electronic device, that is, the operating system can call/use the first CPU core.
And 403, controlling the operating system to load associated hardware of a second direction control application, wherein the second direction control application is included in the operating system.
As in the context of an in-vehicle device, the second directional control application may be understood as a second reverse application. It should be noted that, although the first direction control application and the second direction control application in the embodiment of the present application implement the same function, the two applications are different. The first direction control application runs in a first CPU core without an operating system, the second direction control application runs in a second CPU core with the operating system, and the first direction control application and the second direction control application are determined to be different.
The second direction control application may be understood as an application carried in the operating system, i.e. the second direction control application is included in the operating system. Controlling an operating system to load associated hardware for a second directional control application, comprising: and controlling the operating system to load a hardware driver corresponding to the associated hardware of the second direction control application.
404, when the directional control signal is detected, a second directional control application is launched by the operating system.
In this embodiment, when the second CPU core detects that the first CPU core has been released, the first CPU core is recovered, and associated hardware of the second direction control application is loaded, and when a direction control signal is detected, the second direction control application is started by the operating system. Thus, the first CPU core is recycled to the operating system, and the second direction control application in the operating system is started to prepare for normal direction control.
Fig. 5 is another schematic flow chart of a method for starting a directional control application according to an embodiment of the present application, which specifically includes the following steps.
And 501, executing a Boot ROM program.
In the execution stage of the Boot loader, the electronic equipment is powered on and started in a cold mode, a Boot ROM program starts to be executed, and necessary hardware is initialized through the Boot ROM program. Wherein Boot ROM programs are typically not modified. The SBL program then begins execution.
The SBL program initializes the associated hardware 502.
The SBL program loads a bare metal deployment program (bareboot program) and a kernel (kernel) into the memory 503. Specifically, the information is loaded into a memory from a flash memory (flash memory).
The SBL program wakes up at least two CPU cores 504.
And generating a CPU core awakening instruction through an SBL program, and awakening at least two CPU cores by the electronic equipment after receiving the CPU core awakening instruction.
At least two CPU cores are awakened, and a first CPU core used for loading a bare metal deployment program and a second CPU core used for loading an operating system of the electronic equipment are determined.
The steps 501 to 504 correspond to the execution of a boot loader (Bootloader).
Associated hardware of the first direction control application is initialized 511.
And 512, judging whether the direction control signal is detected.
If the direction control signal is detected, go to step 513; if the direction control signal is not detected, then detection is performed.
513, a first directional control application is run.
514, when receiving the start-up notice that the operating system has been started, which is sent by the second CPU core, judging whether the direction control signal is detected.
If the direction control signal is not detected, it is determined that the direction control is finished, and step 515 is performed; if the direction control signal is detected, it means that the direction control is not completed, and step 513 is executed.
And 515, modifying the use state corresponding to the first CPU core, and closing the first direction control application. I.e., the bare metal deployment program is shut down. And modifying the use state corresponding to the first CPU core, namely modifying the value of the state flag bit corresponding to the first CPU core in the memory.
516, the first CPU core and associated hardware is released.
The above steps 511 to 516 are executed in the first CPU core where the bare metal deployment program is located.
521, the operating system is started by the second CPU core.
522, when the OS is successfully started, sending a start notification to the Baremetal program that the OS has been started.
523, the use status corresponding to the first CPU core is detected. Specifically, the value of the status flag bit corresponding to the first CPU core in the memory is detected.
524, determine if the first CPU core is released.
And determining whether the first CPU core is released or not according to the value of the state flag bit corresponding to the first CPU core. If the first CPU core is released, go to step 525; if the first CPU core is not released, go to step 523.
And 525, the operating system kernel recycles the first CPU core in a hot plug mode and loads the associated hardware of the second direction control application.
The Power management Interface (PSCI) provides a hot plug Interface, the operating system kernel recycles the first CPU kernel in a hot plug mode through the Power management Interface, and loads associated hardware of the second direction control application.
The above steps 521 to 525 are executed in the second CPU core in which the operating system is located.
Fig. 6 is a schematic flowchart of the CPU core startup provided in the embodiment of the present application. In this embodiment, there are 4 CPU cores identified as CPU0, CPU1, CPU2, and CPU3, respectively. A first CPU core of the first CPU core is identified as CPU3, and is used to load a bare metal deployment program; the second CPU core, identified as CPU0, CPU1, CPU2, is used to load the operating system kernel of the electronic device.
On the operating system side, after the electronic device is powered on, the CPU0 is started as Bootcore first, and then the secondary CPU is started, that is, the CPU1 and the CPU 2; if the CPU core identification is detected as CPU3, the CPU is not started.
For the CPU0, when the electronic device is powered on, the startup process of the CPU0 includes the following steps:
601, it is checked whether the current CPU id is CPU 0. If yes, go to step 602.
The operating system kernel is loaded 602 and started.
Then, other processes are performed until the operating system is started.
603, running an operating system.
604, notify bare metal deployment program (barefoot program), that is, send a boot notification that the operating system has been booted to the barefoot program in CPU 3.
605, detecting the use state corresponding to the first CPU core. Specifically, the value of the status flag bit corresponding to the first CPU core in the memory is detected.
606, it is determined whether the CPU3 has been released based on the usage status of the first CPU core.
607, if the CPU3 has been released, the operating system kernel reclaims the CPU3 in a hot-plug manner.
For the CPU2 and the CPU3, when the system is powered on, the startup flow of the CPU2 or the CPU3 includes the steps of:
611, it is checked whether the current CPU identification is CPU 0.
If not, the CPU0 proceeds to step 612.
612, it is checked whether the current CPU identification is CPU 3.
If not the CPU3, some processing during startup of the CPU core may be performed.
That is, for the CPU2 and the CPU3, it is detected whether the current CPU flag is the CPU0 or the CPU3, and if not the CPU0 or the CPU3, some processing in the CPU core startup process may be performed.
For the CPU3, when the system is powered on, the startup process of the CPU3 includes the following steps:
621, it is checked whether the current CPU id is CPU 3.
If so, the CPU3 proceeds to step 622.
622, bare metal deployment program (Baremetal) is loaded.
623, initialization of the bare metal deployment program, i.e. initializing the associated hardware of the first direction control application.
624, a first direction control application is run.
625, determining whether the direction control is finished and a start-up notice that the operating system is started is received.
If the end of the direction control is detected and a start notification of the operating system start is received, step 626 is executed.
626, modify the corresponding usage state of the first CPU core and end the bare metal deployment procedure, i.e., end the first direction control application, release the CPU3, and associated hardware, i.e., associated hardware of the first direction control application.
In the whole CPU core starting process, the CPU core corresponding to the CPU0 and the CPU cores corresponding to the CPU1, the CPU2 and the CPU3 may communicate with each other in an inter-core communication manner.
Fig. 7 is a schematic flow chart of the first direction control application operation provided in the embodiment of the present application, which can be specifically understood in conjunction with the embodiment of fig. 3.
701, a bare metal deployment program is started, wherein the bare metal deployment program comprises a first direction control application.
Initializing 702 associated hardware of a first directional control application, comprising: the device comprises a camera, a camera interface, an image processing unit, a distortion correction unit, a display interface, a display screen and the like.
And 703 polling the state of the related event of the first direction control application, and circularly processing the related event according to the inquired state of the related event. The related events include events corresponding to each related hardware, start state events of an operating system, detection events of a direction control signal, and the like.
Wherein, the state includes three kinds: 1. direction control signal, 2, state of related hardware (represented by state bits) such as camera, image processing unit, distortion correction unit, display unit, etc., 3, start state of operating system.
Specifically, the polling queries the state of the related event of the first direction control application, and circularly processes the related event according to the queried state of the related event, and the polling comprises the following steps:
a) detecting whether a direction control signal exists or not, and if so, entering b); if not, go to f);
b) acquiring a frame of initial direction control image data in the camera, delivering the received frame of initial direction control image data to an image processing unit, and entering step c);
c) processing the image of the initial direction control image data, delivering the processed frame of middle direction control image data to a distortion correction unit for processing, and entering d);
d) carrying out distortion correction processing on the middle direction control image data, delivering the processed frame of middle direction control image data to a display unit for processing to obtain target direction control image data, and entering e);
e) displaying the target direction control image data on a display screen through a display interface; looping into a), thus forming a video image;
f) inquiring whether the starting state of the operating system is started, if so, namely the operating system is started and the direction control signal is not detected, modifying the use state (value of a state flag bit) of the first CPU core in the memory, closing the bare computer deployment program, releasing the first CPU core, the camera, the image processing unit, the display unit and other associated hardware, and ending the bare computer deployment program to enter a step 711.
The above steps a) b) c) d) e) f) etc. are run in the bare metal deployment program of the first CPU core, and the following steps 711 to 713 etc. are run in the operating system.
711, the operating system obtains that the first CPU core has been released by querying the use state (value of the status flag bit) of the first CPU core, and then retrieves the first CPU core by means of hot plug (Hotplug) through the operating system kernel, and loads hardware drivers such as the camera, the image processing unit, and the display unit.
712, whether the operating system receives a direction control signal.
713, if a direction control signal is received, starting a second direction control application from the operating system.
According to the method described in the above embodiments, the present embodiment will be further described from the perspective of a direction control application launching device, which may be specifically integrated into an electronic device for implementation.
Fig. 8 is a schematic structural diagram of a direction control application starting device according to an embodiment of the present application. The direction control application launching apparatus includes a wake-up unit 801, a loading unit 802, a first control unit 803, and a second control unit 804.
And a wakeup unit 801, configured to wake up at least two CPU cores after receiving the CPU core wakeup instruction.
The loading unit 802 is configured to load a bare metal deployment program to a first CPU core and load an operating system kernel of the electronic device to a second CPU core after the at least two CPU cores are awakened, so that the first CPU core starts the bare metal deployment program and the second CPU core starts an operating system of the electronic device, where the bare metal deployment program includes a first direction control application.
The first control unit 803 is configured to control the first CPU core to initialize associated hardware of the first direction control application after the bare metal deployment program is started.
A second control unit 804 for controlling the first CPU core to start the first direction control application.
In one case, as shown in fig. 9, the direction control application starting means further includes a control processing unit 805. After the first direction control application is started, when the first CPU core detects a direction control signal and does not receive a start notification sent by the second CPU core that the operating system has been started, the control processing unit 805 is configured to control the first direction control application to acquire video data from the camera through the camera interface; controlling a first direction control application to process video data to obtain a video image; and controlling the first direction to control the application to display the video image on the display screen of the electronic equipment.
When the step of controlling the first direction control application to process the video data to obtain the video image is executed, the control processing unit 805 specifically executes the step of controlling the first direction control application to acquire each frame of initial direction control image data in the video data; sending each frame of initial direction control image data to an image processing unit for image processing to obtain image processed intermediate direction control image data; the control image data of the middle direction is sent to a display unit for display processing, and the control image data of the target direction is obtained; and controlling the image data according to the plurality of target directions to form a video image.
Further, after the image-processed middle direction control image data is obtained, the image-processed middle direction control image data is sent to a distortion correction unit for distortion correction processing, so that the distortion-corrected middle direction control image data is obtained; the control image data of the middle direction is sent to a display unit for display processing, and the control image data of the target direction is obtained; and controlling the image data according to the plurality of target directions to form a video image.
In one case, as shown in fig. 9, the direction control application starting apparatus further includes a control closing unit 806 and a control releasing unit 807. The control closing unit 806 is configured to, when the first CPU core does not detect the direction control signal and receives a start notification sent by the second CPU core that the operating system is started, control the first CPU core to close the bare-die deployment program. A control releasing unit 807 for controlling the first CPU core to release the associated hardware and release the first CPU core.
In the above apparatus embodiment, the method further includes: a determination unit. The determining unit is configured to determine a first CPU core identifier of a first CPU core that loads a bare metal deployment program, and determine a second CPU core identifier of a second CPU core that loads an operating system kernel of the electronic device. A loading unit 802, specifically configured to load a bare metal deployment program to a first CPU core according to the first CPU core identifier; and loading the operating system kernel of the electronic equipment to the second CPU core according to the second CPU core identifier.
In one case, as shown in fig. 9, the direction control application starting means further includes a control recovery unit 808. The control recycling unit 808 is configured to control the second CPU core to detect whether the first CPU core is released, and if the first CPU core is released, control the second CPU core to recycle the first CPU core. The first control unit 803 is further configured to control an operating system to load associated hardware of a second direction control application, where the operating system includes the second direction control application. The second control unit 804 is further configured to start a second directional control application through the operating system when the directional control signal is detected.
In specific implementation, the above units may be implemented as independent entities, or may be implemented as one or several entities by any combination. The specific implementation processes of the above apparatus and each unit, and the achieved beneficial effects, may refer to the corresponding descriptions in the foregoing method embodiments, and for convenience and brevity of description, no further description is provided herein.
An electronic device according to an embodiment of the present application is further provided, as shown in fig. 10, which shows a schematic structural diagram of the electronic device according to an embodiment of the present application, specifically:
the electronic device may include components such as at least a processor 901 of a processing core, memory 902 of one or more computer-readable storage media, Radio Frequency (RF) circuitry 903, a power supply 904, an input unit 905, and a display screen 906. Those skilled in the art will appreciate that the electronic device configurations shown in the figures do not constitute limitations of the electronic device, and may include more or fewer components than shown, or some components in combination, or a different arrangement of components. Wherein:
the processor 901 is a control center of the electronic device, and the processor connects various parts of the whole electronic device by using various interfaces and lines, and executes various functions of the electronic device and processes data by running or executing software programs and/or modules stored in the memory 902 and calling data stored in the memory 902, thereby performing overall monitoring of the electronic device. Optionally, the processor may include at least two processing cores; preferably, the processor may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the central processor.
The memory 902 may be used to store software programs (also referred to as computer programs such as a boot loader, an operating system kernel, a first direction control application, a second direction control application, and the like) and modules, and the processor 901 executes various functional applications and data processing by executing the software programs and modules stored in the memory 902. The memory 902 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, and the like; the storage data area may store data created according to use of the electronic device, such as video image data and the like. Further, the memory 902 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 volatile solid state storage device. Accordingly, the memory 902 may also include a memory controller to provide the processor 901 access to the memory 902.
The RF circuit 903 may be used for receiving and transmitting signals during information transmission and reception, and in particular, for processing downlink information of a base station after being received by one or more processors 901; in addition, data relating to uplink is transmitted to the base station. In general, RF circuitry 903 includes, but is not limited to, an antenna, at least one Amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like. In addition, the RF circuitry 903 may also communicate with networks and other devices via wireless communications. The wireless communication may use any communication standard or protocol, including but not limited to Global System for Mobile communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Message Service (SMS), and the like.
The electronic device further includes a power supply 904 (e.g., a battery) for supplying power to the various components, and preferably, the power supply 904 is logically connected to the processor 901 via a power management system, so that functions of managing charging, discharging, and power consumption are implemented via the power management system. The power supply 904 may also include any component of one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power status indicators, and the like.
The may further include an input unit 905, and the input unit 905 may be used to receive input numerical or character information. Specifically, in one particular embodiment, input unit 905 may include a touch-sensitive surface as well as other input devices. The touch-sensitive surface, also referred to as a touch display screen or a touch pad, may collect touch operations by a user (e.g., operations by a user on or near the touch-sensitive surface using a finger, a stylus, or any other suitable object or attachment) thereon or nearby, and drive the corresponding connection device according to a predetermined program. Alternatively, the touch sensitive surface may comprise two parts, a touch detection means and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 901, and can receive and execute commands sent by the processor 901. In addition, touch sensitive surfaces may be implemented using various types of resistive, capacitive, infrared, and surface acoustic waves. The input unit 905 may include other input devices in addition to a touch-sensitive surface.
The electronic device may also include a display screen 906, which display screen 906 may be used to display information entered by or provided to the user as well as various graphical user interfaces of the electronic device, which may be made up of graphics, text, icons, video, and any combination thereof. The Display screen 906 may include a Display panel, and optionally, the Display panel may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like. Further, the touch-sensitive surface may cover the display panel, and when a touch operation is detected on or near the touch-sensitive surface, the touch operation is transmitted to the processor 901 to determine the type of the touch event, and then the processor 901 provides a corresponding visual output on the display panel according to the type of the touch event. Although in the figures the touch sensitive surface and the display panel are shown as two separate components to implement input and output functions, in some embodiments the touch sensitive surface may be integrated with the display panel to implement input and output functions.
The electronic device may further include a camera 907, the camera 907 including a reversing camera. The camera is used for shooting the direction control image data corresponding to the scene during direction control to obtain the initial direction control image data.
Although not shown, the electronic device may further include a bluetooth module or the like, which is not described in detail herein. Specifically, in this embodiment, the processor 901 in the electronic device loads the executable files corresponding to the boot loader, the first direction control application, and the second direction control application into the memory 902 according to corresponding instructions, and the processor 901 runs the application program stored in the memory 902, thereby implementing various functions described in the above method embodiments.
The electronic device can implement the steps in any embodiment of the direction control application starting method provided in this embodiment of the present application, and therefore, the beneficial effects that can be achieved by any direction control application starting method provided in this embodiment of the present application can be achieved, which are detailed in the foregoing embodiments and will not be described herein again.
It will be understood by those skilled in the art that all or part of the steps of the methods of the above embodiments may be performed by instructions (computer programs) which are stored in a computer-readable storage medium and loaded and executed by a processor, or by related hardware controlled by the instructions (computer programs). To this end, an embodiment of the present invention provides a storage medium, in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the steps of any embodiment of the method for starting a direction control application provided in the embodiment of the present invention.
Wherein the storage medium may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like.
Since the instructions stored in the storage medium may execute the steps in the method for starting an application by controlling any direction provided in the embodiment of the present invention, the beneficial effects that can be achieved by the method for starting an application by controlling any direction provided in the embodiment of the present invention can be achieved, which are detailed in the foregoing embodiments and will not be described herein again.
The foregoing describes in detail a method, an apparatus, an electronic device, and a storage medium for starting a direction control application provided in an embodiment of the present application, and a specific example is applied in the present application to explain the principle and the implementation of the present application, and the description of the foregoing embodiment is only used to help understand the method and the core idea of the present application; meanwhile, for those skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A direction control application starting method is applied to electronic equipment, and is characterized in that the electronic equipment comprises at least two CPU cores, and the direction control application starting method comprises the following steps:
after receiving a CPU core awakening instruction, awakening the at least two CPU cores;
after the at least two CPU cores are awakened, loading a bare metal deployment program to a first CPU core, and loading an operating system kernel of the electronic device to a second CPU core, so that the first CPU core starts the bare metal deployment program, and the second CPU core starts an operating system of the electronic device, wherein the bare metal deployment program comprises a first direction control application;
controlling the first CPU core to initialize the associated hardware of the first direction control application after starting the bare metal deployment program;
and controlling the first CPU core to start the first direction control application.
2. The direction control application starting method according to claim 1, wherein the associated hardware includes a display screen, a camera interface, and a camera, and after the step of controlling the first CPU core to start the first direction control application, further includes:
when the first CPU core detects a direction control signal and does not receive a starting notice that the operating system is started and sent by the second CPU core, controlling the first direction control application to acquire video data from the camera through the camera interface;
controlling the first direction control application to process the video data to obtain a video image;
and controlling the first direction control application to display the video image on the display screen of the electronic equipment.
3. The method according to claim 2, wherein the associated hardware further comprises an image processing unit, a display unit and a display interface, and the step of controlling the first direction control application to process the video data to obtain a video image comprises:
controlling the first direction control application to acquire each frame of initial direction control image data in the video data according to the state bit of the camera;
sending each frame of initial direction control image data to the image processing unit for image processing to obtain image processed intermediate direction control image data, and modifying the state bit of the image processing unit;
according to the state bit of the image processing unit, sending the intermediate direction control image data to the display unit for display processing to obtain target direction control image data, and modifying the state bit of the display unit;
and controlling the image data according to the plurality of target directions after the display processing is performed by the display unit to form a video image.
4. The method of claim 3, wherein the associated hardware further comprises a distortion correction unit, and after sending each frame of initial direction control image data to the image processing unit for image processing, obtaining image processed intermediate direction control image data, and modifying the status bits of the image processing unit, the method further comprises:
according to the state bit of the image processing unit, sending the image-processed middle direction control image data to the distortion correction unit for distortion correction processing to obtain the distortion-corrected middle direction control image data, and modifying the state bit of the distortion correction unit;
the step of sending the intermediate direction control image data to the display unit for display processing according to the state bit of the image processing unit to obtain target direction control image data includes: and sending the intermediate direction control image data to the display unit for display processing according to the state bit of the distortion correction unit to obtain target direction control image data.
5. The direction control application launching method of claim 1, further comprising, after controlling the first CPU core to launch the first direction control application:
when the first CPU core does not detect a direction control signal and receives a starting notice that the operating system is started and sent by the second CPU core, controlling the first CPU core to close the bare computer deployment program;
control releases the associated hardware and releases the first CPU core.
6. The direction control application launching method of claim 5, further comprising, after the releasing the first CPU core:
controlling the second CPU core to detect whether the first CPU core is released;
if the first CPU core is released, controlling the second CPU core to recycle the first CPU core;
controlling the operating system to load associated hardware of a second directional control application, the operating system including the second directional control application;
and controlling the second CPU core to start the second direction control application.
7. The direction control application starting method according to claim 1, further comprising, before the step of loading the bare metal deployment program to the first CPU core and loading the operating system kernel of the electronic device to the second CPU core:
determining a first CPU core identifier of a first CPU core for loading a bare metal deployment program, and determining a second CPU core identifier of a second CPU core for loading an operating system kernel of the electronic device;
the step of loading the bare metal deployment program to the first CPU core and loading the operating system kernel of the electronic device to the second CPU core includes: loading a bare metal deployment program to a first CPU core according to the first CPU core identifier; and loading the operating system kernel of the electronic equipment to the second CPU core according to the second CPU core identifier.
8. A direction control application starting device is applied to electronic equipment, and is characterized in that the electronic equipment comprises at least two CPU cores, and the direction control application starting device comprises:
the awakening unit is used for awakening the at least two CPU cores after receiving the CPU core awakening instruction;
a loading unit, configured to load a bare metal deployment program to a first CPU core and load an operating system kernel of the electronic device to a second CPU core after the at least two CPU cores are awakened, so that the first CPU core starts the bare metal deployment program and the second CPU core starts an operating system of the electronic device, where the bare metal deployment program includes a first direction control application;
a first control unit, configured to control the first CPU core to initialize associated hardware of the first direction control application after the bare metal deployment program is started;
a second control unit configured to control the first CPU core to start the first direction control application.
9. An electronic device, characterized in that the electronic device comprises a memory and at least two CPU cores, and a computer program is stored in the memory, and when the computer program is executed by the at least two CPU cores, the method for starting a direction control application according to any one of the preceding claims 1 to 7 is implemented.
10. A computer-readable storage medium, in which a computer program is stored, which, when being executed by a processor, carries out the steps of the direction control application launching method according to any one of the preceding claims 1 to 7.
CN202011417256.4A 2020-12-07 2020-12-07 Direction control application starting method and device, electronic equipment and storage medium Active CN112395018B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011417256.4A CN112395018B (en) 2020-12-07 2020-12-07 Direction control application starting method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011417256.4A CN112395018B (en) 2020-12-07 2020-12-07 Direction control application starting method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112395018A true CN112395018A (en) 2021-02-23
CN112395018B CN112395018B (en) 2021-04-13

Family

ID=74604427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011417256.4A Active CN112395018B (en) 2020-12-07 2020-12-07 Direction control application starting method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112395018B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860551A (en) * 2022-07-04 2022-08-05 飞腾信息技术有限公司 Method, device and equipment for determining instruction execution state and multi-core processor
WO2024078153A1 (en) * 2022-10-14 2024-04-18 广州汽车集团股份有限公司 Remote control method, domain controller, and vehicle

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072025A1 (en) * 2006-09-15 2008-03-20 Texas Instruments Incorporated Software reconfigurable digital phase lock loop architecture
CN202721760U (en) * 2012-06-11 2013-02-06 深圳市益光实业有限公司 Vehicle reversing video rapid display system
CN103150178A (en) * 2013-02-05 2013-06-12 联发科技(新加坡)私人有限公司 Starting-up display control device and processor chip
CN103514043A (en) * 2012-06-29 2014-01-15 华为技术有限公司 Multi-processor system and data processing method thereof
JP2014061648A (en) * 2012-09-21 2014-04-10 Brother Ind Ltd Control device for printing
CN206510830U (en) * 2016-11-04 2017-09-22 重庆优擎科技有限公司 A kind of vehicle intelligent rear-view mirror system
CN110245585A (en) * 2019-05-28 2019-09-17 艾贝科技(深圳)有限公司 Reverse backsight system implementation method, device, computer equipment and its storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072025A1 (en) * 2006-09-15 2008-03-20 Texas Instruments Incorporated Software reconfigurable digital phase lock loop architecture
CN202721760U (en) * 2012-06-11 2013-02-06 深圳市益光实业有限公司 Vehicle reversing video rapid display system
CN103514043A (en) * 2012-06-29 2014-01-15 华为技术有限公司 Multi-processor system and data processing method thereof
JP2014061648A (en) * 2012-09-21 2014-04-10 Brother Ind Ltd Control device for printing
CN103150178A (en) * 2013-02-05 2013-06-12 联发科技(新加坡)私人有限公司 Starting-up display control device and processor chip
CN206510830U (en) * 2016-11-04 2017-09-22 重庆优擎科技有限公司 A kind of vehicle intelligent rear-view mirror system
CN110245585A (en) * 2019-05-28 2019-09-17 艾贝科技(深圳)有限公司 Reverse backsight system implementation method, device, computer equipment and its storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860551A (en) * 2022-07-04 2022-08-05 飞腾信息技术有限公司 Method, device and equipment for determining instruction execution state and multi-core processor
CN114860551B (en) * 2022-07-04 2022-10-28 飞腾信息技术有限公司 Method, device and equipment for determining instruction execution state and multi-core processor
WO2024078153A1 (en) * 2022-10-14 2024-04-18 广州汽车集团股份有限公司 Remote control method, domain controller, and vehicle

Also Published As

Publication number Publication date
CN112395018B (en) 2021-04-13

Similar Documents

Publication Publication Date Title
US10592254B2 (en) Technologies for fast low-power startup of a computing device
KR101832953B1 (en) Remote wakeup of application processor of mobile device
CN112395018B (en) Direction control application starting method and device, electronic equipment and storage medium
CN108737869B (en) Smart television starting processing method based on human body induction and smart television system
CN109426525B (en) Method and device for waking up sleep state of computer
US10481917B2 (en) Method and apparatus for hibernation operation in multiple operating system environments
CN108920195B (en) Boot processing method and related product
CN110018901B (en) Memory recovery method and device, computer equipment and computer readable storage medium
CN106959857B (en) Application control method and device of electronic equipment
CN107704133B (en) Screen freezing monitoring and solving method, mobile terminal and computer readable storage medium
US20220100490A1 (en) Firmware updating method, and electronic apparatus and storage media for same
CN111332224B (en) Control method and device of vehicle-mounted multimedia system
US11675621B2 (en) Method for controlling execution of application, electronic device and storage medium for the same
CN108958807B (en) Terminal system starting method and terminal
CN116339838A (en) Server starting method and device, electronic equipment and storage medium
CN111399874A (en) System upgrading method and device, storage medium and intelligent wearable device
CN107861827B (en) Card screen detection method, mobile terminal and computer readable storage medium
WO2018010438A1 (en) Responding method and apparatus for terminal
JP2023521457A (en) Electronic devices and methods of responding to wake-up triggers
EP2998859B1 (en) Display control device, display control method, and program
JP6698722B2 (en) Embedded controller chips, systems and devices
WO2021254318A1 (en) Terminal device, gesture operation method tehrefor, and medium
CN115729633A (en) Control method and device of master-slave multi-processor system and computer equipment
CN108881623B (en) Mobile terminal control method, mobile terminal and storage medium thereof
CN113543104A (en) Bluetooth communication method, multimedia device and storage medium

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