A cross-system touch screen data processing method, system and device based on a HAB mechanism
By establishing a HAB communication channel between QNX and the Android operating system, touch screen coordinate data can be directly transmitted, solving the problems of large transmission latency and lag, and improving touch sensitivity and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA FAW CO LTD
- Filing Date
- 2025-06-12
- Publication Date
- 2026-07-21
Smart Images

Figure CN120743136B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of smart cockpits, specifically to a cross-system touchscreen data processing method, system, and device based on the HAB mechanism. Background Technology
[0002] With the rapid development of electric vehicles, more and more cars are offering screens of various shapes and sizes. The number of screens is also increasing, and the content is becoming richer. As an important human-computer interaction method, a good touchscreen experience has become an important part of enhancing the competitiveness of automobiles.
[0003] Currently, Qualcomm's automotive solutions all use a multi-system architecture of QNX+Android. The instrument panel runs the QNX system, while the infotainment screens such as the center console and rear screens run the Android system. When the touchscreen is touched, the coordinate data is first sent to the QNX system via a serializer and a deserializer. After QNX obtains the coordinate data, it reports it to the screen service, which then distributes the coordinate data to the Android system. This process involves many steps and results in significant latency in coordinate data transmission. Under conditions of multi-touch or high system load, stuttering and unresponsive touch can easily occur, severely impacting the user experience.
[0004] Therefore, establishing efficient communication channels to enable data exchange between different operating systems becomes crucial. Summary of the Invention
[0005] To address the aforementioned issues, this invention provides a cross-system touchscreen 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 both the QNX system and the Android operating system, an HAB communication channel is established between the systems, enabling the transmission of touchscreen coordinate data from the QNX system to the Android operating system. This solves the problems of large transmission latency caused by distributing data to the Android system through the screen service in existing technologies, as well as stuttering issues caused by multi-touch or high system load.
[0006] To achieve the aforementioned objectives, the present invention adopts the following technical solution:
[0007] In a first aspect, the present invention provides a cross-system touchscreen data processing method based on the HAB mechanism, the method comprising:
[0008] 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;
[0009] The interrupt service routine based on the QNX system is used to detect touch operations in the touch area of the touch screen.
[0010] Record the data of the interrupt service routine, respond to the touch screen coordinate information detection results in the running data, and obtain the touch screen coordinate data;
[0011] The HAB sending thread, which calls the API interface function, triggers the sending operation of the HAB communication channel to transmit 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 between virtual machines, and memory / buffer sharing services; and,
[0013] In operating systems that have user / kernel spaces, communication between kernel space and user space is supported.
[0014] Optionally, the detection of touch operations in the touch area of the touch screen includes: when a touch operation in the touch area of the touch screen is captured, obtaining the original coordinate data acquired by the touch screen through an adder / subtractor and sending it to the interrupt service routine;
[0015] Touchscreen coordinate information is detected using interrupt service routines based on the QNX system.
[0016] Optionally, the recording of the interrupt service routine's runtime data includes: recording the interrupt entry point, interrupt exit point, and interrupt signal of the interrupt service routine;
[0017] The interrupt exit point is the address that is called to terminate the interrupt service routine.
[0018] The interrupt signal is used to specify the instruction to jump to the target interrupt service routine;
[0019] The target interrupt service routine corresponds to the interrupt entry address.
[0020] Optionally, obtaining touch screen coordinate data from the touch screen coordinate information detection result in the response running data includes:
[0021] When the coordinate information in the raw coordinate data acquired by the touchscreen is detected, the target interrupt service routine of the QNX system receives the interrupt signal sent by the touchscreen, and reads the interrupt signal coordinate information from the touchscreen driver IC according to the custom timing to obtain the touchscreen coordinate data.
[0022] Secondly, the present invention provides a cross-system touchscreen data processing method based on the HAB mechanism, the method comprising:
[0023] The receiving thread of the HAB communication channel receives touch screen coordinate data obtained by the QNX system through the interrupt service routine;
[0024] The acquired touch screen coordinate data is converted into the coordinate format of the Android input system, and the valid touch coordinate information in the touch screen coordinate data is extracted and reported to the application layer.
[0025] Optionally, converting the acquired touch screen coordinate data into the coordinate format of the Android Input system includes: converting the touch screen coordinate data into the standard Android Input subsystem-compatible EV_ABS / EV_KEY event data format on the Android side.
[0026] Thirdly, the present invention provides a cross-system touchscreen 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 both the QNX system and the Android operating system.
[0028] The detection module is used in the interrupt service routine of the QNX system to detect touch operations in the touch area of the touch screen;
[0029] The acquisition module is used to record data from the running interrupt service routine, respond to the touch screen coordinate information detection results in the running data, and acquire 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 touch screen coordinate data to the Android operating system.
[0031] Fourthly, the present invention provides an electronic device, the 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 executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the steps of the method in any of the first aspects or any of the second aspects.
[0035] Fifthly, the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method according to any one of the first aspects or any one of the second aspects.
[0036] The beneficial effects of this invention are reflected in:
[0037] The aforementioned cross-system touchscreen data processing method, system, and device based on the HAB mechanism utilizes the HAB communication channel as a data transmission bridge between the QNX system and the Android operating system. This ensures reliable and efficient data interaction, significantly reducing coordinate data transmission time, improving touch sensitivity and responsiveness, and effectively enhancing the human-computer interaction experience. It improves touchscreen sensitivity, responsiveness, and other characteristics, thereby enhancing the user experience.
[0038] In the above-described inventive solution, the present invention acquires touch screen data by using the interrupt service routine of the QNX system, which is responsible for capturing touch screen interrupt events and recording relevant data, thus providing a basis for subsequent acquisition of touch screen coordinate data. Attached Figure Description
[0039] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the accompanying drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. In all the drawings, similar elements or parts are generally identified by similar reference numerals. In the drawings, the elements or parts are not necessarily drawn to scale.
[0040] Figure 1 This is a flowchart of a cross-system touchscreen data processing method based on the HAB mechanism provided by the present invention;
[0041] Figure 2 This is a flowchart of the original coordinate data acquisition process for a touchscreen provided by the present invention;
[0042] Figure 3 This is a schematic diagram of a cross-system touchscreen data processing system based on the HAB mechanism provided by the present invention;
[0043] Figure 4 This is an internal structural diagram of the electronic device provided by the present invention. Detailed Implementation
[0044] The embodiments of the technical solution of the present invention will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of the present invention and are therefore merely examples, and should not be construed as limiting the scope of protection of the present invention.
[0045] It should be noted that, unless otherwise stated, the technical or scientific terms used in this application should have the ordinary meaning as understood by one of ordinary skill in the art to which this invention pertains.
[0046] This invention provides a cross-system touchscreen data processing method and apparatus based on the HAB mechanism, particularly suitable for quickly and efficiently exporting vehicle system logs for fault analysis in environments with limited vehicle network transmission. The vehicle system log export method of this invention mainly includes the following aspects: USB port monitoring, log collection, file packaging, and human-machine interactive display. The embodiments of this invention are described below with reference to the accompanying drawings:
[0047] Please refer to Figure 1 , Figure 1 This invention provides a cross-system touchscreen data processing method based on the HAB mechanism, according to Embodiment 1 of the present invention. The method uses the QNX system as the execution entity 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 is based on the QNX system interrupt service routine, which detects touch operations in the touch area of the touch screen;
[0050] S103 records the data of the running interrupt service routine, 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, triggering the sending operation of the HAB communication channel to transmit touch screen coordinate data to the Android operating system.
[0052] In step S101 above, 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 between virtual machines, as well as memory / buffer sharing services; 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 a user-controllable, priority-driven, preemptive scheduling method. The QNX kernel itself has low overhead and fast context switching, leaving more room for real-time applications under the same hardware conditions. Therefore, it is very useful in time-sensitive application areas such as real-time control, communication, and multimedia information processing.
[0054] Android is a free and open-source mobile operating system based on the Linux kernel.
[0055] In step S102 above, detecting touch operations in the touch area of the touch screen includes: when a touch operation in the touch area of the touch screen is captured, obtaining the original coordinate data acquired by the touch screen through an adder / subtractor and sending it to the interrupt service routine;
[0056] Touchscreen coordinate information is detected using interrupt service routines based on the QNX system.
[0057] The above-mentioned touch operations on the touch area of the touch screen are detected, and accurate touch screen coordinate information is extracted from the running data.
[0058] The QNX system maintains the mapping relationship between touch point IDs and HAB communication channels, and realizes the synchronous reporting of multiple touch point coordinates through timestamp synchronization.
[0059] A touchscreen is an input device that allows users to interact with the device by touching images displayed on the screen.
[0060] In addition to these, depending on the application scenario, it can also be a central control screen, instrument panel screen, driver display system, etc. The instrument panel screen is a display screen on the center console, mainly displaying car audio, navigation, vehicle information, reversing camera, etc., and can be a single-point touch LCD screen or a multi-point touch LCD screen. The instrument panel driver display system is simply the instrument cluster. Traditional driver information display systems provide information such as vehicle speed, engine speed, and coolant temperature. Currently, they have evolved into fully digital instrument clusters, which, in addition to the traditional information, can also display vehicle battery level, network connectivity, navigation information, and warning information.
[0061] Optionally, the touchscreen is equipped with a deserializer, and the raw coordinate data acquired by it is the data sent to the QNX system after being deserialized.
[0062] In step S103 above, recording the running data of the interrupt service routine includes: recording the interrupt entry point, interrupt exit point, and interrupt signal of the interrupt service routine;
[0063] The interrupt exit point is the address that is called to terminate the interrupt service routine.
[0064] The interrupt signal is used to specify the instruction to jump to the target interrupt service routine;
[0065] The target interrupt service routine corresponds to the interrupt entry address.
[0066] In step S103 above, obtaining touch screen coordinate data in response to the touch screen coordinate information detection result in the running data includes:
[0067] When the coordinate information in the raw coordinate data acquired by the touch screen is detected, the target interrupt service routine 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 routine detects that this is the coordinate information of a touch screen, it directly calls the HAB sending function to send it 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 As shown.
[0069] In step S104 above, the API interface function is called to trigger the HAB sending thread, thus initiating the sending operation of the HAB communication channel. The main function of the HAB sending thread is to send the touch screen coordinate data obtained from the QNX system to the Android operating system through the HAB communication channel. It needs to continuously read the data to be sent from the data buffer and call the API interface function to perform the data sending operation. By calling the unified API interface function, the sending operation of the HAB communication channel is triggered, and the touch screen coordinate data is transmitted to the Android operating system.
[0070] Meanwhile, the HAB sending thread also needs to monitor and manage the sending process, handle possible sending errors and data loss, and take corresponding measures, such as resending data and recording error logs.
[0071] After the QNX system initialization is complete, create and start the HAB send thread. You can use the thread creation functions provided by the QNX system, such as pthread_create(), to create a new thread and set the thread's entry function as the main function of the send thread.
[0072] When a thread starts, some attributes of the thread need to be set, such as 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 operation, the HAB sending thread first checks if the touch coordinate data to be sent is in the data buffer. If no data is available, the thread enters a waiting state until new data is written to the buffer. Condition variables or other synchronization mechanisms can be used to implement the thread's waiting and waking operations, improving thread efficiency and resource utilization.
[0075] Secondly, data is sent by calling the API interface function; that is, when data is detected in the data buffer, the HAB sending thread calls the previously designed API interface function to send the data to the HAB communication channel. When calling the API interface function, the touch screen coordinate data and related sending control information must be correctly passed according to the function's parameter requirements.
[0076] During data transmission, the transmission result needs to be evaluated. If transmission is successful, continue waiting for the next data transmission; if transmission fails, take appropriate measures based on the error type, such as re-calling the API interface function to retransmit the data or logging the error information to a log file.
[0077] Finally, to ensure synchronization between the HAB sending thread, data acquisition thread, and interrupt service routines, appropriate synchronization mechanisms are needed. For example, in accessing the data buffer, a mutex lock is used to ensure that only one thread can read and write to the buffer at a time, avoiding data corruption and inconsistency.
[0078] In addition, semaphores or other notification mechanisms can be used between the sending thread and the interrupt service routine to promptly notify the sending thread that there is new data to be sent, thereby improving the system's response speed and real-time performance.
[0079] The HAB sending threads can also be reasonably managed and scheduled based on the overall performance requirements and task priorities of the system. In the QNX system, its multi-task scheduling mechanism can be used to allocate appropriate CPU time slices to the sending threads, ensuring that data can be sent to the Android operating system in a timely and stable manner. Simultaneously, the lifecycle of the threads must be managed, including operations such as pausing, resuming, and terminating threads, so that the running state of the threads can be flexibly adjusted when the system needs it, saving system resources.
[0080] In one embodiment, the present invention further provides a cross-system touchscreen data processing method based on the HAB mechanism. The method uses the Android operating system as the execution entity and mainly describes the data reception and processing process of the Android operating system, including:
[0081] S201 receives touch screen coordinate data obtained by the QNX system through the interrupt service routine via 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, step S202, which involves converting the acquired touch screen coordinate data into the coordinate format of the Android Input system, includes: converting the touch screen coordinate data into the standard Android Input subsystem-compatible EV_ABS / EV_KEY event data format on the Android side.
[0084] Before performing 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. After receiving the request, the Android operating system establishes a connection with the QNX system through its own API. Data transmission is performed using the API interface functions provided by HAB. For example, in the guest OS, the `habmm_socket_send` function is called to send the processed touchscreen 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 touchscreen coordinate information. During parsing, it performs corresponding processing according to the QNX system's data format. Based on the parsed touchscreen coordinate information, it triggers the corresponding event handling functions.
[0086] Specifically, in the Android operating system, a data receiving thread can be created to receive touchscreen coordinate data from the QNX system via the HAB communication channel. This thread is created and started when the system boots up or when the relevant application starts, ensuring timely data reception.
[0087] Use the Thread or HandlerThread class in Java to create threads, and implement the data receiving logic in the thread's run() method.
[0088] Using the data receiving functions in the previously defined API interface, such as `receive_touch_data()`, data receiving operations are implemented in the Android operating system's receiving thread. By calling this function, touch screen coordinate data is read from the HAB communication channel and stored in a local data buffer.
[0089] Simultaneously, the received data undergoes necessary parsing and verification to ensure its integrity and accuracy. If the received data is incorrect, appropriate measures can be taken, such as sending feedback information to the QNX system or discarding the erroneous data.
[0090] Once the receiving thread successfully receives the touchscreen coordinate data, it needs to promptly distribute this data to the relevant applications or processing modules. This can be done through the message passing mechanisms in the Android operating system, such as Handler and BroadcastReceiver, to send the data to the applications that need to handle touchscreen events.
[0091] For example, in a touchscreen-controlled application, when new touch coordinate data is received, a message containing the touch coordinate data and the corresponding event type is sent to the application's main thread via a Handler, notifying the application to perform the corresponding interface update or logic processing.
[0092] After receiving touch screen coordinate data, the application performs corresponding operations based on the event type and coordinate information in the data. For example, if it is a touch button event, it executes the corresponding command according to the button's function; if it is a swipe operation, it updates the position or state of interface elements, etc.
[0093] The application can also further process and analyze the touch screen coordinate data as needed, such as gesture recognition and trajectory drawing, to achieve richer human-computer interaction functions.
[0094] Through the detailed description of the implementation method of the touch screen coordinate data transmission system based on the HAB communication channel, it can be seen that this solution establishes a unified API interface function HAB communication channel in the QNX system and the Android operating system, and utilizes the HAB communication channel to achieve efficient transmission of touch data. In practical applications, the system can be adjusted and optimized according to specific needs and hardware platforms to meet the data interaction requirements in different scenarios.
[0095] To reduce latency caused by intermediate steps, after the QNX system obtains the coordinate data of the touch screen, it no longer distributes the coordinate data to Android through the screen service. Instead, it directly uses the HAB channel to provide 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 latency caused by intermediate steps. The following actual tests prove that it works well under multi-touch and heavy system load conditions.
[0096] Example 1: Through actual testing in Example 1, the advantages of establishing a HAB communication channel and using the API interface functions provided by the HAB communication channel for data transmission are demonstrated:
[0097] (a) Setting up the test environment
[0098] 1. Select appropriate hardware devices, including hardware boards for running the QNX system (such as industrial control boards, in-vehicle infotainment system hardware platforms, etc.) and devices running the Android operating system (such as smartphones, tablets, etc.), and ensure that they can be connected through the hardware interface on which the HAB communication channel depends.
[0099] 2. Install necessary testing tools, such as logic analyzers, performance testing tools, and network packet capture tools, to test and analyze the system's communication performance, data transmission accuracy, and other aspects.
[0100] Configure the testing software environment, including compiler, debugger, test application, etc., in both the QNX system and the Android operating system to ensure that test cases can be run smoothly and test data can be collected.
[0101] (ii) Design test cases
[0102] 1. Functional test cases
[0103] The designed functional test cases are used to verify whether the system can correctly transmit touch coordinate data from the QNX system to the Android operating system. For example, the tests check whether the Android operating system can accurately receive the corresponding touch coordinate data and correctly trigger the application's corresponding actions when performing single-point touch, multi-point touch, and swipe operations in different areas of the touchscreen.
[0104] 2. Performance test cases
[0105] To evaluate system performance, performance test cases are designed. For example, tests are conducted to see if the system's data transmission latency, throughput, and other performance metrics meet requirements under high-frequency touch operations; and tests are conducted to see if the system experiences abnormal situations such as data loss or communication interruptions during long-term operation.
[0106] 3. Stability test cases
[0107] Conduct stability tests to simulate various complex usage scenarios and environmental conditions, such as prolonged continuous touch operations, frequent touch event switching, and different network environments, to observe the system's stability and reliability. Record any errors or anomalies that occur during the test, and analyze and locate them.
[0108] (III) Analysis of Test Results
[0109] 1. Test Result Analysis
[0110] A detailed analysis of the collected test data and results was conducted to identify problems and shortcomings in the system. For example, the causes of data transmission errors could be due to imperfect communication protocols or hardware interface interference; performance bottlenecks could be due to inefficient sending threads or inappropriate data buffer sizes.
[0111] 2. Optimization Measures
[0112] Based on the test results analysis, corresponding optimization measures were taken. For communication issues, the communication protocol could be optimized, and hardware interface parameters could be adjusted; for performance issues, the sending thread algorithm could be optimized, the data buffer size increased, and the efficiency of interrupt service routines improved; for stability issues, error handling mechanisms could be added, and the system's fault tolerance enhanced.
[0113] After optimization, the system is tested again to verify the effectiveness of the optimization measures until it meets the expected design goals and performance requirements.
[0114] Based on the same inventive concept, this application also provides a cross-system touchscreen data processing system based on the HAB mechanism for implementing the above-described cross-system touchscreen data processing method based on the HAB mechanism. The solution provided by this system is similar to the implementation scheme described in the above-described embodiments. Therefore, the specific limitations of one or more embodiments of the cross-system touchscreen data processing system based on the HAB mechanism provided below can be found in the above-described limitations of the cross-system touchscreen 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 touchscreen data processing method 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] 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] Detection module 12 is used for interrupt service routines based on the QNX system to detect touch operations in the touch area of the touch screen;
[0118] Module 13 is used to record data from the running interrupt service routine, respond to the touch screen coordinate information detection results in the running data, and obtain touch screen coordinate 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 touch screen coordinate data to the Android operating system.
[0120] In one embodiment, the present invention also 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, communication interface, display screen, and input device connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements the cross-system touchscreen data processing method based on the HAB mechanism described in any one of steps S101 to S104 or S201 to S203. The display screen can be a liquid crystal display or an e-ink display. The input device can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the device's casing, or an external keyboard, touchpad, or mouse.
[0121] Those skilled in the art will understand that Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0122] In one embodiment, the present invention also provides a computer-readable storage medium having a computer program stored thereon, characterized in that the computer program, when executed by a processor, implements the steps of the method described in any one of the first and second aspects above.
[0123] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0124] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0125] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0126] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of 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 within the scope of the claims of the present invention pending approval.
Claims
1. A cross-system touchscreen data processing method based on the HAB mechanism, characterized in that, The method includes: 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; The interrupt service routine based on the QNX system is used to detect touch operations in the touch area of the touch screen. Record the data of the interrupt service routine, respond to the touch screen coordinate information detection results in the running data, and obtain the touch screen coordinate data; The HAB sending thread, which calls the API interface function, triggers the sending operation of the HAB communication channel to transmit 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 between virtual machines, and memory / buffer sharing services; and, In operating systems that have user / kernel spaces, communication between kernel space and user space is supported.
3. The method according to claim 1, characterized in that, The detection of touch operations in the touch area of the touch screen includes: when a touch operation in the touch area of the touch screen is captured, the original coordinate data acquired by the touch screen is obtained through an adder / subtractor and sent to the interrupt service routine; Touchscreen coordinate information is detected using interrupt service routines based on the QNX system.
4. The method as described in claim 1, characterized in that, The data for running the interrupt service routine includes: recording the interrupt entry point, interrupt exit point, and interrupt signal of the interrupt service routine; The interrupt exit point is the address that is called to terminate the interrupt service routine. The interrupt signal is used to specify the instruction to jump to the 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 touch screen coordinate information detection result in the response operation data, and the acquisition of touch screen coordinate data include: When the coordinate information in the raw coordinate data acquired by the touch screen is detected, the target interrupt service routine 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 touchscreen data processing system based on the HAB mechanism, characterized in that, The system includes: A channel construction module is used to establish a HAB communication channel; the HAB communication channel includes the same API interface function set in both the QNX system and the Android operating system. The detection module is used in the interrupt service routine of the QNX system to detect touch operations in the touch area of the touch screen; The acquisition module is used to record data from the running interrupt service routine, respond to the touch screen coordinate information detection results in the running data, and acquire 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 touch screen coordinate data to the Android operating system.
7. An electronic device, characterized in that, The electronic device includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be 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.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.