Cross-system touch screen data processing method, system and equipment based on HAB mechanism
By establishing a HAB communication channel between QNX and Android systems and directly transmitting touch screen coordinate data, the problem of long touch screen data transmission delay in multi-system architecture is solved, and the sensitivity of the touch screen and user experience are improved.
Patent Information
- Application Number
- CN202510782254.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-12
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2045-06-12
AI Technical Summary
In cars with multi-system architectures, touch screen data transmission has a long delay, resulting in insensitive touch. Especially when there are multiple touch points or the system is under heavy load, lags are likely to occur, affecting the user experience.
By using the HAB communication channel and setting the same API interface function in the QNX system and the Android operating system, a cross-system communication channel is established to directly transmit touch screen coordinate data, reducing intermediate links and improving data transmission efficiency.
It achieves efficient transmission of touch screen data, improves the sensitivity and tracking performance of the touch screen, and improves the user experience.
Smart Images

Figure CN120743136A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of smart cockpits, and in particular to a cross-system touch screen data processing method, system, and device based on a HAB mechanism. Background Art
[0002] With the rapid development of electric vehicles, more and more cars are providing screens of various shapes and forms. The number of screens is also increasing, and the content is becoming richer and richer. As an important way of human-computer interaction, a good touch screen experience has become an important part of improving the competitiveness of cars.
[0003] Currently, Qualcomm's in-vehicle solutions all use a multi-system architecture of QNX+Android. The instrument screen runs the QNX system, while the central control screen, rear screen and other entertainment screens run the Android system. After clicking the touch screen, the touch screen's coordinate data is first sent to the QNX system through the serializer and deserializer. After QNX obtains the coordinate data, it reports it to the screen service, and the screen service then distributes the coordinate data to the Android system. There are many links in the middle, and the coordinate data transmission delay is large. In the case of multi-touch or heavy system load, it is easy to experience freezes and insensitive touch, which seriously affects the user experience.
[0004] Therefore, it is crucial to establish efficient communication channels to enable data interaction between different operating systems. Summary of the Invention
[0005] In order to solve the above problems, the present invention provides a cross-system touch screen data processing method, system and device based on the HAB mechanism. It is a cross-system implementation method based on the HAB (Hypervisor abstraction) communication channel. By setting the same API interface function in the QNX system and the Android operating system respectively, a HAB communication channel is established between the systems, thereby realizing the transmission of touch screen coordinate data from the QNX system to the Android operating system; it solves the problems existing in the prior art of distributing data to the Android system through the screen service, such as the long transmission delay caused by multi-touch or heavy system load, and the freeze problem caused by multi-touch or heavy system load.
[0006] To achieve the above-mentioned purpose, the present invention adopts the following technical solutions:
[0007] In a first aspect, the present invention provides a cross-system touch screen data processing method based on the HAB mechanism, the method comprising:
[0008] Establishing a HAB communication channel; the HAB communication channel includes the same API interface function set in the QNX system and the Android operating system respectively;
[0009] Based on the QNX system's interrupt service routine, the touch operation of the touch area in the touch screen is detected;
[0010] Record the data of the running interrupt service program, respond to the touch screen coordinate information detection result in the running data, and obtain the touch screen coordinate data;
[0011] The HAB sending thread that calls the API interface function triggers the sending operation of the HAB communication channel to transmit the touch screen coordinate data to the Android operating system.
[0012] Optionally, the HAB communication channel supports cross-OS message transmission between the QNX system and the Android operating system; the cross-OS message transmission includes: providing cross-OS message sending and receiving, and memory / buffer sharing services between virtual machines; and,
[0013] In an operating system with user / kernel space, communication between kernel space and user space is supported.
[0014] Optionally, the detecting a touch operation on a touch area of the touch screen includes: when capturing a touch operation on the touch area of the touch screen, acquiring original coordinate data acquired by the touch screen through a serial adder and subtracter, and sending the data to an interrupt service routine;
[0015] The touch screen coordinate information is detected based on the interrupt service routine of the QNX system.
[0016] Optionally, recording the operation data of the interrupt service program includes: recording the interrupt entry, interrupt exit and interrupt signal of the interrupt service program;
[0017] The interrupt exit is the address to be called when the interrupt service routine ends execution;
[0018] The interrupt signal is used to specify an instruction to jump to a target interrupt service routine;
[0019] The target interrupt service routine corresponds to the interrupt entry address.
[0020] Optionally, the acquiring touch screen coordinate data in response to the touch screen coordinate information detection result in the operation data includes:
[0021] When the coordinate information in the original coordinate data collected by the touch screen is detected, the target interrupt service program of the QNX system receives the interrupt signal sent by the touch screen, reads the interrupt signal coordinate information from the touch screen driver IC according to the custom timing, and obtains the touch screen coordinate data
[0022] In a second aspect, the present invention provides a cross-system touch screen data processing method based on the HAB mechanism, the method comprising:
[0023] Receive the touch screen coordinate data obtained by the QNX system through the interrupt service routine through the receiving thread of the HAB communication channel;
[0024] Convert the acquired touch screen coordinate data into the coordinate format of the Android input system, extract the valid touch coordinate information from the touch screen coordinate data, and report it to the application layer.
[0025] Optionally, converting the acquired touch screen coordinate data into a coordinate format of an Android input system includes: converting the touch screen coordinate data into an EV_ABS / EV_KEY event data format compatible with a standard Android Input subsystem on the Android side.
[0026] In a third aspect, the present invention provides a cross-system touch screen data processing system based on the HAB mechanism, the system comprising:
[0027] A channel construction module is used to establish a HAB communication channel; the HAB communication channel includes the same API interface function set in the QNX system and the Android operating system respectively;
[0028] A detection module is used for detecting touch operations on the touch area of the touch screen based on the interrupt service routine of the QNX system;
[0029] An acquisition module is used to record the data of the running interrupt service program, respond to the touch screen coordinate information detection result in the running data, and acquire the touch screen coordinate data;
[0030] The data transmission module is used to call the HAB sending thread of the API interface function, trigger the sending operation of the HAB communication channel, and transmit the touch screen coordinate data to the Android operating system.
[0031] In a fourth aspect, the present invention provides an electronic device, comprising:
[0032] at least one processor; and,
[0033] a memory communicatively connected to the at least one processor; wherein,
[0034] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the steps of any one of the methods in the first aspect or any one of the second aspects.
[0035] In a fifth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in any one of the first aspect or any one of the second aspect.
[0036] The beneficial effects of the present invention are embodied in:
[0037] The aforementioned cross-system touchscreen data processing method, system, and device based on the HAB mechanism use the HAB communication channel as a data transmission bridge between the QNX system and the Android operating system, ensuring reliable and efficient data exchange. This significantly reduces coordinate data transmission time, improves touch sensitivity and hand tracking, and effectively enhances the human-computer interaction experience. This improves touchscreen sensitivity, hand tracking, and other characteristics, thereby enhancing the user experience.
[0038] In the above-mentioned invention solution, the present invention acquires touch screen data by using the interrupt service routine of the QNX system to capture the interrupt event of the touch screen and record the relevant data, thus providing a basis for the subsequent acquisition of touch screen coordinate data. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly describes the drawings required for the specific embodiments or the description of the prior art. Similar elements or parts are generally identified by similar reference numerals throughout the drawings. Elements or parts in the drawings are not necessarily drawn to scale.
[0040] Figure 1 This is a flow chart of a cross-system touch screen data processing method based on the HAB mechanism provided by the present invention;
[0041] Figure 2 This is a flow chart of original coordinate data collection for a touch screen provided by the present invention;
[0042] Figure 3 This is a schematic diagram of the structure of a cross-system touch screen data processing system based on the HAB mechanism provided by the present invention;
[0043] Figure 4 It is a diagram of the internal structure of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0044] The following embodiments of the technical solution of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention and are therefore only examples and are not intended to limit the scope of protection of the present invention.
[0045] It should be noted that, unless otherwise specified, the technical or scientific terms used in this application should have the common meanings understood by those skilled in the art to which the present invention belongs.
[0046] The present invention provides a cross-system touchscreen data processing method and device based on the HAB mechanism, which is particularly suitable for quickly and efficiently exporting vehicle system logs for fault analysis in vehicle network transmission-restricted environments. The vehicle system log export method of the present invention mainly includes the following aspects: USB port monitoring, log collection, file packaging, and human-computer interactive display. The following is an illustration of the embodiments of the present invention with reference to the accompanying drawings:
[0047] Please refer to Figure 1 , Figure 1 A cross-system touch screen data processing method based on the HAB mechanism is provided in Example 1 of the present invention. The method is executed by the QNX system and includes:
[0048] S101 establishes a HAB communication channel; the HAB communication channel includes the same API interface function set in the QNX system and the Android operating system respectively;
[0049] S102 detects touch operations on the touch area of the touch screen based on the interrupt service routine of the QNX system;
[0050] S103 records the data of the running interrupt service program, responds to the touch screen coordinate information detection result in the running data, and obtains the touch screen coordinate data;
[0051] S104 calls the HAB sending thread of the API interface function, triggers the sending operation of the HAB communication channel, and transmits the touch screen coordinate data to the Android operating system.
[0052] In the above step S101, the HAB communication channel supports cross-OS message transmission between the QNX system and the Android operating system; the cross-OS message transmission includes: providing cross-OS message sending and receiving, and memory / buffer sharing services between virtual machines; and, in an operating system with user / kernel space, supporting communication between kernel space and user space.
[0053] QNX is a real-time operating system. It provides user-controllable, priority-driven, and preemptive scheduling. The QNX kernel's low overhead and fast context switching provide greater flexibility for real-time applications under the same hardware conditions. This makes it particularly useful in time-sensitive applications such as real-time control, communications, and multimedia processing.
[0054] Android is a free and open source mobile operating system based on the Linux kernel.
[0055] In the above step S102, detecting the touch operation on the touch area of the touch screen includes: when capturing the touch operation on the touch area of the touch screen, obtaining the original coordinate data acquired by the touch screen through the adder-subtractor serializer, and sending it to the interrupt service routine;
[0056] The touch screen coordinate information is detected based on the interrupt service routine of the QNX system.
[0057] The touch operation of the touch area in the touch screen is detected in the above manner, and accurate touch screen coordinate information is extracted from the operation data.
[0058] The mapping relationship between the touch point ID and the HAB communication channel is maintained in the QNX system, and the synchronous reporting of the coordinates of multiple touch points is achieved through timestamp synchronization.
[0059] Among them, a touch screen is an input device that allows a user to interact with a device by touching a displayed image on the screen.
[0060] In addition, depending on the application scenario, it can also be a central control screen, instrument panel, driving display system, and so on. The instrument panel is a display screen on the center console that primarily displays content such as car audio, navigation, vehicle information, and reversing images. It can be a single-touch LCD screen or a multi-touch LCD screen. The instrument panel driving display system is also known as the instrument panel. Traditional driving information display systems provide information such as vehicle speed, revs, and water temperature. These have now evolved into full LCD instrument panels that, in addition to the traditional display information, can also display vehicle battery voltage, network status, navigation information, and warning information.
[0061] Optionally, the touch screen is provided with a deserializer, and the original coordinate data collected by the touch screen is sent to the QNX system through the deserializer.
[0062] In the above step S103, recording the operation data of the interrupt service program includes: recording the interrupt entry, interrupt exit and interrupt signal of the interrupt service program;
[0063] The interrupt exit is the address to be called when the interrupt service routine ends execution;
[0064] The interrupt signal is used to specify an instruction to jump to a target interrupt service routine;
[0065] The target interrupt service routine corresponds to the interrupt entry address.
[0066] In the above step S103, in response to the touch screen coordinate information detection result in the operation data, obtaining the touch screen coordinate data includes:
[0067] When the coordinate information in the original coordinate data collected by the touch screen is detected, the target interrupt service program of the QNX system receives the interrupt signal sent by the touch screen, reads the interrupt signal coordinate information from the touch screen driver IC according to the custom timing, and obtains the touch screen coordinate data.
[0068] In the above embodiment, after the interrupt service program detects that this is the coordinate information of a touch screen, it directly calls the HAB sending function to send the coordinate data to the Android side HAB receiving function thread. The HAB receiving thread parses the coordinate data and reports the coordinate data to the application according to the Input subsystem framework, such as Figure 2 shown.
[0069] In step S104, the API function is called to trigger the HAB send thread, initiating the send operation on the HAB communication channel. The HAB send thread's primary function is to transmit the touch screen coordinate data acquired by the QNX system to the Android operating system via the HAB communication channel. It continuously reads data to be sent from the data buffer and calls the API function to send the data. By calling a unified API function, the send operation on the HAB communication channel is triggered, transmitting the touch screen coordinate data to the Android operating system.
[0070] At the same time, the HAB sending thread also needs to monitor and manage the sending process, handle possible sending errors, data loss, etc., and take corresponding measures, such as resending data and recording error logs.
[0071] After the QNX system is initialized, create and start the HAB sending thread. You can use the thread creation function provided by the QNX system, such as pthread_create(), to create a new thread and set the thread entry function to the main function of the sending thread.
[0072] When a thread is started, some properties of the thread need to be set, such as the thread priority and stack size, to ensure that the thread can run normally and meet the real-time requirements of data transmission.
[0073] The sending threads that trigger the HAB communication channel include:
[0074] During its execution, the HAB sending thread first checks the data buffer for touch screen coordinate data to be sent. If no data is available, the thread enters a wait state until new data is written to the buffer. Condition variables or other synchronization mechanisms can be used to implement thread waiting and wakeup operations, improving thread efficiency and resource utilization.
[0075] Next, the API function is called to send data. When data is detected in the data buffer, the HAB send thread calls the pre-designed API function to send the data to the HAB communication channel. When calling the API function, the touch screen coordinate data and related transmission control information must be correctly passed according to the function's parameter requirements.
[0076] During the data transmission process, the transmission result needs to be judged. If the transmission is successful, continue to wait for the next data to be sent; if the transmission fails, take appropriate measures based on the error type, such as re-calling the API interface function to resend the data, recording the error information in the log file, etc.
[0077] Finally, to ensure synchronization between the HAB sending thread and the data acquisition thread, interrupt service routine, etc., an appropriate synchronization mechanism is required. For example, when accessing the data buffer, a mutex lock is used to ensure that only one thread can read or write to the buffer at a time, avoiding data confusion and inconsistency.
[0078] In addition, between the sending thread and the interrupt service program, a semaphore or other notification mechanism can be used to promptly inform the sending thread that new data needs to be sent, thereby improving the response speed and real-time performance of the system.
[0079] The HAB sending thread can also be properly managed and scheduled based on the system's overall performance requirements and task priorities. In the QNX system, its multi-tasking scheduling mechanism can be leveraged to allocate appropriate CPU time slices to the sending thread, ensuring timely and stable data delivery to the Android operating system. Furthermore, thread lifecycle management is also required, including operations such as pausing, resuming, and terminating threads. This allows for flexible adjustment of thread status when needed, conserving system resources.
[0080] In one embodiment, the present invention further provides a cross-system touch screen data processing method based on the HAB mechanism. The method uses the Android operating system as the execution subject and mainly describes the data receiving and processing process of the Android operating system, which includes:
[0081] S201 receives the touch screen coordinate data obtained by the QNX system through the interrupt service program through the receiving thread of the HAB communication channel;
[0082] S202 converts the acquired touch screen coordinate data into the coordinate format of the Android input system, extracts the valid touch coordinate information from the touch screen coordinate data, and reports it to the application layer.
[0083] Optionally, the step S202 of converting the acquired touch screen coordinate data into a coordinate format of the Android input system includes: converting the touch screen coordinate data into an EV_ABS / EV_KEY event data format compatible with a standard Android Input subsystem on the Android side.
[0084] Before executing the above steps, this method requires establishing a HAB communication channel. When the QNX system controls the Android operating system's services, it initiates a request to the Android operating system; this request includes the API provided by the HAB communication channel at the service initiator. Upon receiving the request, the Android operating system establishes a connection with the QNX system using its own API. Data is transferred using the HAB API interface functions. For example, in the guest OS, the habmm_socket_send function is called to send processed touch screen coordinate data to the host OS; in the host OS, the habmm_socket_recv function is called to receive data from the guest OS.
[0085] After receiving the data, the Android operating system parses the data to extract the coordinate information of the touch screen; during the parsing, it performs corresponding processing according to the data format of the QNX system; and triggers the corresponding event processing function based on the parsed touch screen coordinate information.
[0086] Specifically, in the Android operating system, a data receiving thread can be created to receive touch screen coordinate data from the QNX system through the HAB communication channel. This thread is created and started when the system starts or the relevant application starts to ensure that data can be received in a timely manner.
[0087] Use the Thread class or HandlerThread class in the Java language to create a thread and implement the data receiving logic in the run() method of the thread.
[0088] The data receiving function in the previously defined API interface function, such as receive_touch_data(), is used to implement the data receiving operation in the receiving thread of the Android operating system. By calling this function, the touch screen coordinate data is read from the HAB communication channel and stored in the local data buffer.
[0089] At the same time, the received data is parsed and verified as necessary to ensure its integrity and correctness. If the received data is incorrect, appropriate measures can be taken, such as sending feedback to the QNX system or discarding the incorrect data.
[0090] After the receiving thread successfully receives the touch screen coordinate data, it needs to distribute this data to the relevant application or processing module in a timely manner. This data can be sent to the application that needs to process the touch screen event through the message passing mechanism in the Android operating system, such as Handler and BroadcastReceiver.
[0091] For example, for a touch screen controlled application, when new touch screen coordinate data is received, a message containing the touch screen coordinate data and the corresponding event type is sent to the main thread of the application through the Handler, notifying the application to perform corresponding interface updates or logic processing.
[0092] After receiving touch screen coordinate data, the application performs the corresponding operation based on the event type and coordinate information in the data. For example, if it is a button touch event, the corresponding command is executed according to the button's function; if it is a sliding operation, the position or status of the interface element is updated.
[0093] The application can also further process and analyze the touch screen coordinate data as needed, such as gesture recognition, trajectory drawing, etc., to achieve richer human-computer interaction functions.
[0094] The above detailed implementation of the touch screen coordinate data transmission system based on the HAB communication channel demonstrates that this solution achieves efficient touch data transmission by establishing a HAB communication channel with a unified API interface function in the QNX and Android operating systems. In actual applications, the system can be adjusted and optimized based on specific needs and hardware platforms to meet the data interaction requirements of different scenarios.
[0095] To reduce the delay caused by the intermediate links, after the QNX system obtains the touch screen coordinate data, it no longer distributes the coordinate data to Android through the screen service. Instead, it directly uses the HAB channel to send the data to the Android side. On the Android side, the standard input subsystem framework is used to report the data. This greatly reduces the delay caused by the intermediate links. The following actual tests have proved that it works well under multi-touch and heavy system load conditions.
[0096] Example 1: Through the actual test of this example 1, the superiority of establishing a HAB communication channel and using the API interface function provided by the HAB communication channel for data transmission is tested:
[0097] (1) Setting up the test environment
[0098] 1. Select appropriate hardware devices, including hardware boards running the QNX system (such as industrial control boards and in-vehicle infotainment system hardware platforms) and devices running the Android operating system (such as smartphones and tablets), and ensure that they can be connected through the hardware interfaces that the HAB communication channel relies on.
[0099] 2. Install necessary testing tools, such as logic analyzers, performance testing tools, network packet capture tools, etc., to test and analyze the system's communication performance, data transmission accuracy, etc.
[0100] Configure the test software environment in the QNX system and Android operating system respectively, including the compiler, debugger, test application, etc., so that test cases can be run smoothly and test data can be collected.
[0101] (2) Design test cases
[0102] 1. Functional test cases
[0103] Functional test cases are designed to verify whether the system can correctly transmit touch screen coordinate data from the QNX system to the Android operating system. For example, when performing single-touch, multi-touch, and sliding operations on different areas of the touch screen, the Android operating system can accurately receive the corresponding touch screen coordinate data and correctly trigger the corresponding operation of the application.
[0104] 2. Performance test cases
[0105] To evaluate system performance, we designed performance test cases. For example, we tested whether the system's performance indicators, such as data transmission latency and throughput, met requirements under high-frequency touch operations; and whether the system experienced abnormalities such as data loss and communication interruptions during long-term operation.
[0106] 3. Stability test cases
[0107] Conduct stability testing to simulate various complex usage scenarios and environmental conditions, such as prolonged continuous touch operations, frequent touch event switching, and varying network environments, to observe the system's stability and reliability. Record any errors or anomalies that occur during testing and analyze and locate them.
[0108] (3) Analysis of test results
[0109] 1. Test results analysis
[0110] Conduct a detailed analysis of the collected test data and results to identify any problems or deficiencies in the system. For example, analyze the causes of data transmission errors, which may be due to imperfect communication protocols or hardware interface interference; analyze the location of performance bottlenecks, which may be due to inefficient processing of the sending thread or an unreasonable data buffer size.
[0111] 2. Optimization measures
[0112] Based on the test results, we can take appropriate optimization measures. For communication issues, we can optimize the communication protocol and adjust the hardware interface parameters. For performance issues, we can optimize the sending thread algorithm, increase the data buffer size, and improve the efficiency of the interrupt service routine. For stability issues, we can add error handling mechanisms and strengthen the system's fault tolerance.
[0113] After optimization, testing is performed again to verify the effectiveness of the optimization measures until the system meets the expected design goals and performance requirements.
[0114] Based on the same inventive concept, the embodiment of the present application also provides a cross-system touch screen data processing system based on the HAB mechanism for implementing the above-mentioned cross-system touch screen data processing method based on the HAB mechanism. The implementation solution provided by this system is similar to the implementation solution described in the above-mentioned embodiment method. Therefore, the specific limitations in the embodiments of one or more cross-system touch screen data processing systems based on the HAB mechanism provided below can be found in the above-mentioned limitations on a cross-system touch screen data processing method based on the HAB mechanism, and will not be repeated here.
[0115] In one embodiment, the present invention provides a cross-system touch screen data processing based on the HAB mechanism, such as Figure 3 As shown, it includes: a channel construction module 11, a detection module 12, an acquisition module 13 and a data transmission module 14, wherein:
[0116] The channel construction module 11 is used to establish a HAB communication channel; the HAB communication channel includes the same API interface function set in the QNX system and the Android operating system respectively;
[0117] A detection module 12 is used to detect touch operations on the touch area of the touch screen based on the interrupt service routine of the QNX system;
[0118] An acquisition module 13 is configured to record data of the running interrupt service program and acquire touch screen coordinate data in response to a detection result of touch screen coordinate information in the running data;
[0119] The data transmission module 14 is used to call the HAB sending thread of the API interface function, trigger the sending operation of the HAB communication channel, and transmit the touch screen coordinate data to the Android operating system.
[0120] In one embodiment, the present invention further provides an electronic device, which may be a terminal, and its internal structure diagram may be as follows: Figure 4 As shown. The electronic device includes a processor, memory, a communication interface, a display, and an input device connected via a system bus. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The communication interface of the electronic device is used to communicate with an external terminal via wired or wireless communication. The wireless communication can be achieved via Wi-Fi, a mobile cellular network, NFC (near-field communication), or other technologies. When executed by the processor, the computer program implements any one of steps S101 to S104 or steps S201 to S203, a cross-system touch screen data processing method based on the HAB mechanism. The display of the electronic device can be a liquid crystal display or an electronic ink display. The input device of the electronic device can be a touch layer covering the display, or keys, a trackball, or a touchpad provided on the electronic device housing, or an external keyboard, touchpad, or mouse.
[0121] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0122] In one embodiment, the present invention further provides a computer-readable storage medium on which a computer program is stored, characterized in that when the computer program is executed by a processor, the steps of the method described in any one of the first and second aspects are implemented.
[0123] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0124] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0125] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0126] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.
[0127] The above are merely embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention are included in the scope of the claims of the present invention to be approved.
Claims
1. A cross-system touch screen data processing method based on the HAB mechanism, characterized in that: The method comprises: Establishing a HAB communication channel; the HAB communication channel includes the same API interface function set in the QNX system and the Android operating system respectively; Based on the QNX system's interrupt service routine, the touch operation of the touch area in the touch screen is detected; Record the data of the running interrupt service program, respond to the touch screen coordinate information detection result in the running data, and obtain the touch screen coordinate data; The HAB sending thread that calls the API interface function triggers the sending operation of the HAB communication channel to transmit the touch screen coordinate data to the Android operating system.
2. The method according to claim 1, characterized in that The HAB communication channel supports cross-OS message transmission between the QNX system and the Android operating system; the cross-OS message transmission includes: providing cross-OS message sending and receiving, and memory / buffer sharing services between virtual machines; and, In an operating system with user / kernel space, communication between kernel space and user space is supported.
3. The method according to claim 1, characterized in that The detecting of the touch operation on the touch area of the touch screen includes: when the touch operation on the touch area of the touch screen is captured, acquiring the original coordinate data acquired by the touch screen through the adder-subtractor serializer, and sending the data to the interrupt service program; The touch screen coordinate information is detected based on the interrupt service routine of the QNX system.
4. The method according to claim 1, wherein The recording of the operation data of the interrupt service program includes: recording the interrupt entry, interrupt exit and interrupt signal of the interrupt service program; The interrupt exit is the address to be called when the interrupt service routine ends execution; The interrupt signal is used to specify an instruction to jump to a target interrupt service routine; The target interrupt service routine corresponds to the interrupt entry address.
5. The method according to claim 4, characterized in that The detecting result of the touch screen coordinate information in the response operation data and obtaining the touch screen coordinate data includes: When the coordinate information in the original coordinate data collected by the touch screen is detected, the target interrupt service program of the QNX system receives the interrupt signal sent by the touch screen, reads the interrupt signal coordinate information from the touch screen driver IC according to the custom timing, and obtains the touch screen coordinate data.
6. A cross-system touch screen data processing method based on the HAB mechanism, characterized in that: The method comprises: Receive the touch screen coordinate data obtained by the QNX system through the interrupt service routine through the receiving thread of the HAB communication channel; Convert the acquired touch screen coordinate data into the coordinate format of the Android input system, extract the valid touch coordinate information from the touch screen coordinate data, and report it to the application layer.
7. The method according to claim 6, characterized in that The converting of the acquired touch screen coordinate data into the coordinate format of the Android input system by calling includes: converting the data into the EV_ABS / EV_KEY event data format compatible with the standard Android Input subsystem on the Android side.
8. A cross-system touch screen data processing system based on the HAB mechanism, characterized in that: The system comprises: A channel construction module is used to establish a HAB communication channel; the HAB communication channel includes the same API interface function set in the QNX system and the Android operating system respectively; A detection module is used for detecting touch operations on the touch area of the touch screen based on the interrupt service routine of the QNX system; An acquisition module is used to record the data of the running interrupt service program, respond to the touch screen coordinate information detection result in the running data, and acquire the touch screen coordinate data; The data transmission module is used to call the HAB sending thread of the API interface function, trigger the sending operation of the HAB communication channel, and transmit the touch screen coordinate data to the Android operating system.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, wherein the computer program is executed by the at least one processor to enable the at least one processor to perform the steps of the method according to any one of claims 1 to 5 or any one of claims 6 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 or any one of claims 6 to 7 are implemented.
Citation Information
Patent Citations
System and method for managing operation information of QNX end of dual-system intelligent cockpit
CN113297029A
Hypervisor intelligent cockpit input method sharing system and method
CN113504870A
In-vehicle infotainment system, method for sharing touch device, vehicle and storage medium
CN115793949A
Cross-domain touch data transmission method and device, electronic equipment and storage medium
CN118939456A
Vehicle machine diagnosis method and device based on QNX system
CN119690039A