Device and method for operating an application across operating systems

Through the methods and devices of operating applications across operating systems, the problem that rear passengers in the on-board system cannot operate entertainment functions independently is solved, and efficient inter-system interaction and safe use of entertainment functions are achieved.

CN115391061BActive Publication Date: 2025-06-13BEIJING SEMIDRIVE TECHNOLOGY LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211037880.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-26
Publication Date
2025-06-13
Estimated Expiration
2042-08-26

AI Technical Summary

Technical Problem

In the prior art, the rear passengers of the on-board system cannot operate the entertainment function independently, and the operation of the main driver is required, resulting in low efficiency and insecure interaction between the systems.

Method used

Provided is a method and device for operating an application program across an operating system, sending application startup instructions to the second operating system through the first operating system, creating a virtual display, and sending display screen data in real time, realizing application operations and data synchronization across an operating system.

Benefits of technology

It realizes efficient interaction and application operations between different operating systems, improves the autonomy of entertainment functions of rear passengers, and reduces security risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115391061B_ABST
    Figure CN115391061B_ABST
Patent Text Reader

Abstract

A method for operating an application across operating systems, the method comprising: the first operating system sending an application start instruction to the second operating system through a first communication interface; the second operating system creating a virtual display to start the corresponding application, and sending, through a second communication interface, the display screen data of the application obtained by the virtual display to the first operating system in real time; the first operating system synchronously displaying the display screen of the application for the user to view and trigger operations, and the first operating system sending an in-application operation instruction including the position information of the trigger operation in the display screen of the first system to the second operating system through the first communication interface; the application in the second operating system responding to the actual operation within the application corresponding to the position information. The present application also provides a device for operating an application across operating systems, which facilitates the operation of application programs of each other between operating systems, does not affect the use of the other operating system, and has high interactive use efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of application operation, and particularly to a device and method for operating application programs across operating systems. Background Art

[0002] With the continuous development of integrated circuit theory and the emergence of System On Chip (SoC) technology, designers' design capabilities and efficiency for chips have been improved to a certain extent, which has also increased the complexity and scale of chips. In the in-vehicle application scenario, the development of in-vehicle systems has evolved from meeting the driving needs of the main driver to meeting the entertainment needs of the main driver and then to meeting the entertainment needs of passengers. Currently, in order to meet the diverse functional requirements of in-vehicle systems, in-vehicle SoCs often have multiple processor cores with different architectures, and different systems and screens are configured for different processor cores to meet the functional requirements of different people in the in-vehicle scenario.

[0003] However, in the prior art, the most complete functions are configured for the main driver's system, while the rear-row systems are only configured with some simple functions. As a result, when rear-row passengers want to perform functions such as watching movies on their own screens, they still need the main driver to operate and play the movie and then cast it to the passengers' screens. Therefore, this method is not only unsafe and prone to causing safety accidents, but also has low inter-system interaction efficiency. Summary of the Invention

[0004] To solve the deficiencies of the prior art, the purpose of this application is to provide a device and method for operating application programs across operating systems, which facilitates the operation and use of application programs of each other between different operating systems.

[0005] To achieve the above purpose, the method for operating application programs across operating systems provided by this application includes:

[0006] The first operating system sends an application startup instruction to the second operating system through a first communication interface. The first operating system runs on a first hardware set of a heterogeneous multi-core system-on-chip, and the second operating system runs on a second hardware set of the heterogeneous multi-core system-on-chip. The first hardware set and the second hardware set belong to different hardware domains, and the first communication interface is the first inter-core communication channel between the hardware domains;

[0007] Based on the received application startup instruction, the second operating system creates a virtual display to start the corresponding application, and sends the display screen data of the application obtained by the virtual display to the first operating system in real time through a second communication interface. The second communication interface is the second inter-core communication channel between the hardware domains, and the bandwidth of the second inter-core communication channel is greater than the bandwidth of the first inter-core communication channel;

[0008] The first operating system synchronously displays the display screen of the application for the user to view and trigger operations. Based on the user's trigger operation, the first operating system sends an in-application operation instruction including the position information of the trigger operation in the display screen of the first system to the second operating system through the first communication interface;

[0009] Based on the position information in the application operation instruction, the application in the second operating system responds to the actual operation within the application corresponding to the position information.

[0010] The type of the first operating system and the system type of the second operating system are the same or different.

[0011] Further, after the first operating system obtains the display screen data of the application, it performs format conversion on the display screen data and then synchronously displays it on the first operating system.

[0012] Further, the method further includes: the first operating system obtains the application information of each application program in the second operating system through the first communication interface and displays it on the first operating system for the user to select an application program to start. The application information includes an application icon, an application name, and application identification information.

[0013] Further, the first communication interface is socket communication, and the second communication interface is any one of Mailbox and PCIe.

[0014] Further, the protocol data of the socket communication includes 1-byte data identification and 8-byte data content. The data identification is used to identify the response type of the data content, and the response types include application startup, application shutdown, and in-application operation.

[0015] To achieve the above object, the present application also provides a device for operating an application program across operating systems, including:

[0016] A display control unit, configured on an operating system, is communicatively connected to the display control unit on other operating systems through the first communication interface to transmit application information and operation instructions, and is used to control the display unit, the application startup unit, and the image transmission unit to respond to the operation instructions based on the user operation instructions and the operation instructions sent by other operating systems;

[0017] An application startup unit, used to start the corresponding application in the operating system where it is located based on the operation instructions;

[0018] A display unit, including a virtual display unit and a physical display unit, where the virtual display unit is used to capture the display screen data after an application is launched, and the physical display unit is used to display application information on the operating system screen for the user to select to launch or display the display screen data after the application launched by the image transmission unit is received for the user to view and operate;

[0019] An image transmission unit, which is communicatively connected to the image transmission units on other operating systems through a second communication interface to transmit the display screen data captured by the virtual display unit;

[0020] Among them, each of the operating systems runs on different hardware sets of a multi-core heterogeneous system-on-chip, and different hardware sets belong to different hardware domains. The first communication interface is the first inter-core communication channel between the hardware domains, and the second communication interface is the second inter-core communication channel between the hardware domains. The bandwidth of the second inter-core communication channel is greater than the bandwidth of the first inter-core communication channel.

[0021] Further, the operation instructions include an application launch instruction, an in-application operation instruction, and an application close instruction.

[0022] Further, the application information includes an application icon, an application name, and application identification information.

[0023] Further, the first communication interface is socket communication, and the second communication interface is any one of Mailbox and PCIe.

[0024] To achieve the above object, the electronic device provided by the present application includes:

[0025] A processor;

[0026] A memory, including one or more computer program modules;

[0027] Among them, the one or more computer program modules are stored in the memory and configured to be executed by the processor. The one or more computer program modules include a method for operating application programs across operating systems as described above.

[0028] To achieve the above object, the computer-readable storage medium provided by the present application stores computer instructions, and when the computer instructions run, the steps of the method for operating application programs across operating systems as described above are executed.

[0029] The device and method for operating application programs across operating systems of the present application facilitate operating the application programs of the other party between operating systems, do not affect the use of the other party's operating system, and have high interactive use efficiency.

[0030] Other features and advantages of the present application will be set forth in the following description, and in part will be obvious from the description, or may be learned by practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The drawings are used to provide a further understanding of the present application, and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application, but do not constitute a limitation to the present application. In the drawings:

[0032] Figure 1 is a schematic flowchart of a method for cross-operating system operation of an application program of the present application;

[0033] Figure 2 is a schematic structural diagram of a device for cross-operating system operation of an application program of the present application;

[0034] Figure 3 is a schematic block diagram of an electronic device of the present application;

[0035] Figure 4 is a schematic diagram of a storage medium of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0036] Embodiments of the present application will be described in more detail below with reference to the drawings. Although some embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Instead, these embodiments are provided to more thoroughly and completely understand the present application. It should be understood that the drawings and embodiments of the present application are only for exemplary purposes and are not used to limit the protection scope of the present application.

[0037] It should be understood that the steps described in the method embodiments of the present application can be executed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present application is not limited in this regard.

[0038] As used herein, the term "including" and its variants are open-ended, that is, "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0039] It should be noted that the modifications of "one" and "multiple" mentioned in the present application are illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more". "Multiple" should be understood as two or more.

[0040] Next, embodiments of the present application will be described in detail with reference to the accompanying drawings.

[0041] Embodiment 1

[0042] An embodiment of the present application provides a method for operating an application across operating systems, which facilitates operating applications across operating systems.

[0043] Figure 1 It is a schematic flowchart of the method for operating an application across operating systems of the present application. Next, reference will be made to Figure 1 The method for operating an application across operating systems of the present application will be described in detail:

[0044] Step S101: The first operating system sends an application start instruction to the second operating system through the first communication interface. Among them, the first operating system runs on the first hardware set of the multi-core heterogeneous system-on-chip, and the second operating system runs on the second hardware set of the multi-core heterogeneous system-on-chip. The first hardware set and the second hardware set belong to different hardware domains, and the first communication interface is the first inter-core communication channel between the hardware domains;

[0045] Step S102: Based on the received application start instruction, the second operating system creates a virtual display to start the corresponding application, and sends the display screen data of the application obtained by the virtual display to the first operating system in real time through the second communication interface. Among them, the second communication interface is the second inter-core communication channel between the hardware domains, and the bandwidth of the second inter-core communication channel is greater than the bandwidth of the first inter-core communication channel;

[0046] Step S103: The first operating system synchronously displays the display screen of the application for the user to view and trigger operations. Based on the user's trigger operation, the first operating system sends an in-application operation instruction including the position information of the trigger operation in the display screen of the first system to the second operating system through the first communication interface;

[0047] Step S104: Based on the position information in the application operation instruction, the application in the second operating system responds to the actual operation in the application corresponding to the position information.

[0048] In this embodiment, the type of the first operating system and the type of the second operating system are the same, both are Android operating systems. In some other embodiments, the types of operating systems include, but are not limited to, Android, Linux, QNX, and FreeRTOS.

[0049] In this embodiment, after the first operating system obtains the display screen data of the application, it converts the format of the display screen data and then synchronously displays it on the first operating system. It can be understood that due to different operating systems and different display screens, it is necessary to convert the format of the display screen data before the display screen is displayed.

[0050] It should be noted that in this embodiment, when the first operating system operates the application of the second operating system, the second operating system starts the application in the background, and the display screen of the application will not be displayed on the screen of the second operating system.

[0051] In this embodiment, before step S101, the first operating system first obtains the application information of each application program in the second operating system through the first communication interface and displays it on the first operating system for the user to select the application program to start. The application information includes but is not limited to application icons, application names, and application identification information.

[0052] It can be understood that the application information is only for the user to know which applications are available on the second operating system, and then select an application to issue an application start operation instruction. In this embodiment, it is the first operating system that obtains the reference information through the first communication interface. In some other embodiments, the application information of the second operating system can also be pre-stored in the first operating system. When it is necessary to operate the application in the second operating system, the first operating system directly reads the pre-stored application information.

[0053] In this embodiment, the first communication interface is socket communication, which is mainly used to transmit operation instructions and operation information. The second communication interface is PCIe. PCIe has a large transmission bandwidth and a fast transmission speed, ensuring the maximum degree of synchronization of operation and display.

[0054] In this embodiment, the protocol data of the socket communication includes a 1-byte data identifier and an 8-byte data content. The data identifier is used to identify the response type of the data content, and the response types include application start, application shutdown, and in-application operation.

[0055] It can be understood that for the operation instruction with the response type of application start, its data content is the application-related information of the application to be started. The application-related information is used for the second operating system to be able to start a matching and unique application. In this embodiment, since the first operating system will obtain the application icon, application name, and application identification information through the second operating system, when the user selects the application to be started, the first operating system will issue an operation instruction with the application data being the application name corresponding to the application. In some other embodiments, the data content may also be the location information and application serial number information of the application in the second operating system, etc.

[0056] In this embodiment, for an operation instruction with an application close response type, when the first operating system wants to exit after finishing the operation on the application of the second operating system, the user can issue an application close instruction through the first operating system. Based on this instruction, the first operating system stops displaying the acquired display screen data and stops acquiring display screen data from the second operating system. At the same time, the second operating system closes the application and destroys the virtual display, ending the cross-system operation of the application.

[0057] In this embodiment, for an operation instruction with an in-application operation response type, the data content is the position information of the trigger operation in the display screen of the first system. In this embodiment, both the first operating system and the second operating system are Android operating systems. When the user starts an application of the second operating system and sees the display screen of the application on the first operating system, when touching the application for operation, the first operating system obtains the position information of the touch operation in the display screen through the actual display window of the first operating system and the reported points of onTouch(), and issues an in-application operation instruction including this position information to the second operating system. After receiving this operation instruction, the second operating system passes it to the virtual display through the interface of InputManager.injectInputEvent(), thereby determining the actual operation of the application and controlling the application to respond.

[0058] Embodiment 2

[0059] An embodiment of the present application provides a device for operating an application across operating systems, facilitating the operation of applications across operating systems between operating systems.

[0060] It should be noted that in this embodiment, the device for operating an application across operating systems of the present application is described in detail with a device for operating an application across two systems. It can be understood that this device can be used between any number of systems.

[0061] Figure 2 It is a schematic structural diagram of the device for operating an application across operating systems of the present application, as Figure 2 shown, including:

[0062] A display control unit 110, a display unit 120, an application startup unit 130, and an image transmission unit 140 configured on the first operating system 100; a display control unit 210, a display unit 220, an application startup unit 230, and an image transmission unit 240 configured on the second operating system 200; the display units, application startup units, and image transmission units in each operating system are all connected to the display control unit of this system, and several applications are respectively installed in each operating system. Exemplarily, applications 301, 302, and 303 are installed in the first operating system 100, and applications 304 and 305 are installed in the second operating system 200.

[0063] Among them, the display control unit 110 and the display control unit 210 are communicatively connected through a first communication interface to transmit application information and operation instructions, and are used to control the display unit, application startup unit, and image transmission unit of this operating system to respond to the operation instructions based on the user operation instructions and the operation instructions sent by other operating systems.

[0064] Exemplarily, taking the first operating system as an example, the functions of each unit are explained. Among them, the application startup unit 130 is used to start the corresponding application in the first operating system based on the operation instructions; the display unit 120 includes a virtual display unit 121 and a physical display unit 122. The virtual display unit 121 is used to capture the display screen data after the application program starts, and the physical display unit 122 is used to display the application information on the screen of the first operating system 100 for the user to select to start or display the display screen data of the application program received by the image transmission unit 140 for the user to view and operate; the image transmission unit 140 is communicatively connected to the image transmission unit 240 on the second operating system 200 through a second communication interface to transmit the display screen data captured by the virtual display unit 121.

[0065] It should be noted that the virtual display unit is created after receiving the application startup instruction, and the physical display unit is created when the image processing unit receives the display screen data of the application and when displaying the application information.

[0066] Among them, each operating system runs on different hardware sets of a multi-core heterogeneous system-on-chip. Different hardware sets belong to different hardware domains. The first communication interface is the first inter-core communication channel between the hardware domains, and the second communication interface is the second inter-core communication channel between the hardware domains. The bandwidth of the second inter-core communication channel is greater than the bandwidth of the first inter-core communication channel.

[0067] It can be understood that the first operating system and the second operating system respectively have screens for their own operating systems to use.

[0068] In this embodiment, the operation instructions include an application start instruction, an in-application operation instruction, and an application close instruction.

[0069] In this embodiment, the application information includes an application icon, an application name, and application identification information.

[0070] In this embodiment, the first communication interface is socket communication, and the second communication interface is any one of Mailbox and PCIe.

[0071] It should be noted that in this embodiment, the image transmission unit 140 uses the v4L2 architecture to transmit the display screen data of the application.

[0072] The working process of this embodiment is as follows: When a user of the first operating system 100 wants to operate an application 305 of the second system 200, the display control unit 110 of the first operating system 100 obtains all the application information on the second operating system 200 from the display control unit 210 of the second operating system and displays it on the screen of the first operating system 100 for the user to select. When the user selects to start the application 305 according to the displayed information, the display control unit 110 of the first operating system 100 sends an application start instruction to the display control unit 210 of the second operating system 200. After receiving the application start instruction, the second operating system 200 controls the application start unit 230 to start the corresponding application 305 and controls the display unit 220 to create a virtual display unit 221 to capture the screen data after the application 305 is started. Synchronously, the image transmission unit 240 transmits the screen data after startup to the image transmission unit 140 of the first operating system 100. After receiving the screen data, the physical display unit 122 displays the screen data on the screen for the user to view and operate the application 305. When the user triggers an in-application operation, the display control unit 110 of the first operating system 100 sends an in-application operation instruction to the display control unit 210 of the second operating system 200. After receiving the in-application operation instruction, the display control unit 210 of the second operating system 200 controls the application 305 to perform the corresponding operation. When the user wants to exit, the display control unit 110 of the first operating system 100 sends an application close instruction to the display control unit 210 of the second operating system 200. At the same time, the display control unit 110 of the first operating system 100 closes the physical display unit 122 to stop displaying the acquired display screen data and controls the image transmission unit 140 to stop acquiring the display screen data. After receiving the application close instruction, the display control unit 210 of the second operating system 200 closes the application and destroys the virtual display, ending the cross-system operation of the application.

[0073] Similarly, the process of a user of the second operating system 200 operating an application of the first operating system 100 will not be elaborated here.

[0074] It should be noted that both the first operating system 100 and the second operating system 200 are Android operating systems. When the user starts an application of the second operating system and sees the display screen of the application on the first operating system, when the user triggers an in-application operation, the display control unit 110 of the first operating system 100 will obtain the position information of the touch operation in the display screen through the actual display window of the first operating system 100 and the reported points of onTouch(). The display control unit 110 of the first operating system 100 sends an in-application operation instruction including the position information to the display control unit 210 of the second operating system 200. After receiving the operation instruction, the second operating system 200 passes it to the virtual display through the interface of InputManager.injectInputEvent(), and then determines the operation that the application 305 actually needs to perform, and controls the application 305 to respond.

[0075] Embodiment 3

[0076] In this embodiment, an electronic device is further provided. Figure 3 It is a schematic block diagram of an electronic device provided by this application. As Figure 3 shown, the electronic device 130 includes a processor 131 and a memory 132. The memory 132 is used to store non-transitory computer-readable instructions (such as one or more computer program modules). The processor 131 is used to run non-transitory computer-readable instructions. When the processor 131 runs, it can execute one or more steps of the method for operating an application across operating systems described above. The memory 132 and the processor 131 can be interconnected through a bus system and / or other forms of connection mechanisms (not shown).

[0077] For example, the processor 131 can be a central processing unit (CPU), a digital signal processor (DSP), or other forms of processing units with data processing capabilities and / or program execution capabilities, such as a field programmable gate array (FPGA), etc.; for example, the central processing unit (CPU) can be of the X86 or ARM architecture, etc.

[0078] For example, the memory 132 may include any combination of one or more computer program products, and the computer program products may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, erasable programmable read-only memory (EPROM), portable compact disc read-only memory (CD-ROM), USB memory, flash memory, etc. One or more computer program modules may be stored on the computer-readable storage media, and the processor 131 may run one or more computer program modules to implement various functions of the electronic device 130. Various application programs and various data, as well as various data used and / or generated by the application programs, may also be stored in the computer-readable storage media.

[0079] It should be noted that in the embodiments of the present application, the specific functions and technical effects of the electronic device 130 may refer to the description of the method for operating application programs across operating systems in the above text, and will not be elaborated here.

[0080] Embodiment 4

[0081] In this embodiment, a computer-readable storage medium is further provided. Figure 4 It is a schematic diagram of a storage medium of the present application. As Figure 4 shown, the storage medium 150 is used to store non-transitory computer-readable instructions 151. For example, when the non-transitory computer-readable instructions 151 are executed by a computer, one or more steps of the method for operating application programs across operating systems described above may be executed.

[0082] For example, the storage medium 150 may be applied to the above-mentioned electronic device 130. For example, the storage medium 150 may be the memory 132 in the electronic device 130 shown as Figure 3 shown. For example, the relevant description of the storage medium 150 may refer to the corresponding description of the memory 132 in the electronic device 130 shown as Figure 3 shown, and will not be elaborated here.

[0083] It should be noted that the above storage medium (computer-readable medium) of the present application can be a computer-readable signal medium or a non-transitory computer-readable storage medium or any combination of the two. The non-transitory computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the non-transitory computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0084] In the present application, the non-transitory computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. And in the present application, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries the computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the non-transitory computer-readable storage medium, and the computer-readable signal medium can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0085] The above computer-readable medium can be included in the above electronic device; or it can exist separately and not be assembled into the electronic device.

[0086] The computer program code for performing the operations of the present application can be written in one or more programming languages or combinations thereof. The above programming languages include but are not limited to object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server.

[0087] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, as well as combinations of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0088] The units involved in the embodiments described in the present application can be implemented in software or in hardware. Among them, the name of the unit does not constitute a limitation on the unit itself in some cases.

[0089] The functions described above can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that can be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on chips (system on chips), complex programmable logic devices (CPLDs), etc.

[0090] The above description is only for some embodiments of the present application and an explanation of the technical principles applied. Those skilled in the art should understand that the scope of disclosure involved in the present application is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, technical solutions formed by mutually replacing the above features with (but not limited to) technical features having similar functions disclosed in the present application.

[0091] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the present application. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features that are described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0092] Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.

Claims

1. A method for operating an application across operating systems, the method comprises: The first operating system sends an application start instruction to the second operating system through a first communication interface. The first operating system runs on a first hardware set of a multi-core heterogeneous system-on-chip, and the second operating system runs on a second hardware set of the multi-core heterogeneous system-on-chip. The first hardware set and the second hardware set belong to different hardware domains, and the first communication interface is a first inter-core communication channel between the hardware domains; Based on the received application start instruction, the second operating system creates a virtual display to start the corresponding application, and sends the display screen data of the application obtained by the virtual display to the first operating system in real time through a second communication interface. The second communication interface is a second inter-core communication channel between the hardware domains, and the bandwidth of the second inter-core communication channel is greater than the bandwidth of the first inter-core communication channel; The first operating system synchronously displays the display screen of the application for the user to view and trigger operations. Based on the user's trigger operation, the first operating system sends an in-application operation instruction including the position information of the trigger operation in the display screen of the first system to the second operating system through the first communication interface; Based on the position information in the application operation instruction, the application in the second operating system responds to the actual operation in the application corresponding to the position information.

2. The method for operating an application across operating systems according to claim 1, wherein, the type of the first operating system and the system type of the second operating system are the same or different.

3. The method for operating an application across operating systems according to claim 1, wherein, after the first operating system obtains the display screen data of the application, it performs format conversion on the display screen data and then synchronously displays it on the first operating system.

4. The method for operating an application across operating systems according to claim 1, wherein, the method further comprises: the first operating system obtains the application information of each application program in the second operating system through the first communication interface and displays it on the first operating system for the user to select an application program to start. The application information includes an application icon, an application name, and application identification information.

5. The method for operating an application across operating systems according to claim 1, wherein, the first communication interface is socket communication, and the second communication interface is any one of Mailbox and PCIe.

6. The method for operating an application across operating systems according to claim 5, wherein, the protocol data of the socket communication includes 1-byte data identification and 8-byte data content. The data identification is used to identify the response type of the data content, and the response types include application start, application shutdown, and in-application operation.

7. A device for operating an application across systems, wherein, comprises: A display control unit, configured on an operating system, is communicatively connected to a display control unit on another operating system through a first communication interface to transmit application information and operation instructions, and is used to control a display unit, an application startup unit, and an image transmission unit to respond to the operation instructions based on user operation instructions and operation instructions sent by other operating systems; An application startup unit, configured to start a corresponding application in the operating system based on an operation instruction; A display unit, including a virtual display unit and a physical display unit, where the virtual display unit is configured to capture display screen data after an application is started, and the physical display unit is configured to display application information on the operating system screen for a user to select to start or display the display screen data after an application started by the image transmission unit is received for the user to view and operate; An image transmission unit, communicatively connected to an image transmission unit on another operating system through a second communication interface to transmit the display screen data captured by the virtual display unit; Wherein, each of the operating systems runs on different hardware sets of a multi-core heterogeneous system-on-chip, and the different hardware sets belong to different hardware domains. The first communication interface is a first inter-core communication channel between the hardware domains, the second communication interface is a second inter-core communication channel between the hardware domains, and the bandwidth of the second inter-core communication channel is greater than the bandwidth of the first inter-core communication channel.

8. The apparatus for operating an application across systems according to claim 7, wherein, the operation instructions include an application startup instruction, an in-application operation instruction, and an application shutdown instruction.

9. The apparatus for operating an application across systems according to claim 7, wherein, the application information includes an application icon, an application name, and application identification information.

10. The apparatus for operating an application across systems according to claim 7, wherein, the first communication interface is socket communication, and the second communication interface is any one of Mailbox and PCIe.

11. An electronic device, wherein, comprises: a processor; a memory, including one or more computer program modules; Wherein, the one or more computer program modules are stored in the memory and configured to be executed by the processor, and the one or more computer program modules include a method for operating an application across operating systems according to any one of claims 1-6.

12. A computer-readable storage medium, wherein, computer instructions are stored thereon, and when the computer instructions run, the steps of the method for operating an application across operating systems according to any one of claims 1-6 are executed.

Citation Information

Patent Citations

  • Method and device for starting multiple operating systems on multi-core CPU

    CN108108199A

  • Application screen projection method and device, vehicle-mounted terminal and readable storage medium

    CN114461158A