RPMSG communication methods, computer equipment, and readable storage media
Patent Information
- Application Number
- CN202310068995.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-06
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2043-02-06
AI Technical Summary
虽然上述跨SOC的RPMSG通信模型丰富了设备内部的通信方式,但是SOC之间的所有异构核并不会因此变成一个整体,用于连接两个SOC的异构核间的通信RPMSG链路被固定配置,而且无法学习本端SOC内部的异构核节点信息,只是通过解析报文完成多个连接段的核间数据传输,导致跨SOC间的RPMSG通信模型的灵活很差,无法满足用户的需要
[0028]在本发明的RPMSG的通信方法中,第一系统级芯片的一个目标异构核根据消息的发布模式确定消息的目标节点信息,发布指定RPMSG消息;其中目标节点信息包括目标异构核的本端目标节点信息以及对端目标节点信息,指定RPMSG消息携带有目标节点信息,第一系统级芯片的异构核接收到指定RPMSG消息时,遍历其对应的节点信息,并判断对端目标节点信息是否与本端节点信息匹配;其中节点信息包括本端节点信息以及对端节点信息,若不匹配,判断接收到指定RPMSG消息的异构核是否为特定核,若是,通过第一系统级芯片的特定核将指定RPMSG消息发转发至第二系统级芯片的特定核,本发明可将多个SOC上的所有异构核连接成为整体,使跨SOC特定核间的RPMSG通信具有很高的灵活性。
Smart Images

Figure CN116049082B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a communication method, computer device, and readable storage medium for RPMSG. Background Technology
[0002] Currently, many chips contain multiple heterogeneous cores, each running a different operating system to collaboratively complete a task. These heterogeneous cores can communicate through various IPC (Inter-Process Communication) methods, such as RPMSG (Remote Processor Messaging). To enable RPMSG communication between heterogeneous cores across System-on-Chip (SoC) chips, some chip manufacturers have established data channels by connecting SoC chips via PCIe buses. While this cross-SoC RPMSG communication model enriches the communication methods within the device, it doesn't make all the heterogeneous cores within the SoC a unified whole. The RPMSG links connecting the heterogeneous cores of two SoCs are fixedly configured and cannot learn the heterogeneous core node information within the local SoC. They simply complete inter-core data transmission by parsing messages, resulting in poor flexibility in the cross-SoC RPMSG communication model and failing to meet user needs. Summary of the Invention
[0003] In view of the above problems, the present invention is proposed to provide a communication method, computer device and readable storage medium for RPMSG that overcomes or at least partially solves the above problems.
[0004] One objective of this invention is to connect all heterogeneous cores on multiple SOCs into a whole, thereby enabling highly flexible RPMSG communication between specific cores across SOCs.
[0005] Specifically, this invention provides a communication method for RPMSG applied to an in-vehicle system. The in-vehicle system includes at least two system-on-a-chips (SoCs), namely a first SoC and a second SoC. The first SoC and the second SoC each include multiple heterogeneous cores, and each heterogeneous core is configured as a specific core. Two of the specific cores are connected via a physical bus. The communication method includes:
[0006] A target heterogeneous core of the first system-on-a-chip determines the target node information of the message according to the message publishing mode and publishes a specified RPMSG message; wherein the target node information includes the local target node information and the peer target node information of the target heterogeneous core, and the specified RPMSG message carries the target node information;
[0007] When the heterogeneous core of the first system-on-a-chip receives the specified RPMSG message, it traverses the corresponding node information and determines whether the peer target node information matches the local node information; wherein the node information includes local node information and peer node information.
[0008] If they do not match, determine whether the heterogeneous core that received the specified RPMSG message is a specific core;
[0009] If so, the specified RPMSG message is forwarded to the specific core of the second system-on-a-chip through a specific core of the first system-on-a-chip.
[0010] Optionally, the heterogeneous core is configured as a specific core in the following ways:
[0011] The specific core learns the node information of other heterogeneous cores in its system-on-a-chip (SoC) as well as the node information of the specific core connected to it via a physical bus, so that the specific core has the function of forwarding messages across SoCs.
[0012] Optionally, when the heterogeneous core receiving the specified RPMSG message is a specific core, the publishing of the specified RPMSG message includes:
[0013] The target heterogeneous core of the first system-on-a-chip sets the next node of the specified RPMSG message to the specific core of the first system-on-a-chip through RPMSG message driving, and sends the specified RPMSG message to the specific core of the first system-on-a-chip;
[0014] The step of forwarding the specified RPMSG message to a specific core of the second system-on-a-chip via a specific core of the first system-on-a-chip includes:
[0015] The kernel forwarding driver for RPMSG messages of the first system-on-a-chip sets the next node of the specified RPMSG message to the specific core of the second system-on-a-chip and forwards it to the specific core of the second system-on-a-chip.
[0016] Optionally, after the forwarding to a specific core of the second system-on-a-chip, the following is also included:
[0017] The kernel forwarding driver for a specific core of the second system-on-a-chip sets the next node of the specified RPMSG message to another heterogeneous core of the second system-on-a-chip and forwards it to that other heterogeneous core.
[0018] Optionally, when the other heterogeneous cores receive the specified RPMSG message, they parse the specified RPMSG message to obtain the content included in the specified RPMSG message.
[0019] Optionally, if the target node information of the peer end matches the node information of the local end, a virtual cache channel is created for each application of the heterogeneous core that is successfully matched, and a specified RPMSG message is copied to the virtual cache channel;
[0020] The RPMSG message triggers the wake-up of the application on the corresponding heterogeneous core, which then reads the specified RPMSG message from the virtual cache channel.
[0021] Optionally, the virtual cache channel is implemented based on the underlying FIFO.
[0022] Optionally, the target node information of a target heterogeneous core of the first system-on-a-chip, determined according to the message publishing mode, includes:
[0023] If the message publishing mode is unicast, the target heterogeneous core of the first system-on-a-chip determines the local target node information of the target node information of the message as the unique identifier of the target heterogeneous core, and the remote target node information as the unique identifier of the heterogeneous core of the second system-on-a-chip.
[0024] If the message is published in broadcast mode, the target heterogeneous core of the first system-on-a-chip determines the local target node information of the message's target node information as a specified fixed identifier, and the remote target node information as the unique identifier of the heterogeneous core of the second system-on-a-chip.
[0025] According to another aspect of the present invention, a computer device is also provided, comprising:
[0026] A memory and a processor, wherein the memory stores a control program, which, when executed by the processor, is used to implement the communication method of RPMSG according to any one of the preceding descriptions.
[0027] According to another aspect of the invention, a machine-readable storage medium is also provided, on which a machine-executable program is stored, wherein the machine-executable program, when executed by a processor, is used to implement the communication method of RPMSG according to any one of the preceding claims.
[0028] In the RPMSG communication method of the present invention, a target heterogeneous core of a first system-on-a-chip (SoC) determines the target node information of the message according to the message publishing mode and publishes a specified RPMSG message. The target node information includes the local target node information and the peer target node information of the target heterogeneous core. The specified RPMSG message carries the target node information. When the heterogeneous core of the first SoC receives the specified RPMSG message, it traverses its corresponding node information and determines whether the peer target node information matches the local node information. The node information includes the local node information and the peer node information. If they do not match, it determines whether the heterogeneous core that receives the specified RPMSG message is a specific core. If so, the specified RPMSG message is forwarded to the specific core of the second SoC through the specific core of the first SoC. The present invention can connect all heterogeneous cores on multiple SoCs into a whole, making RPMSG communication between specific cores across SoCs highly flexible.
[0029] The above and other objects, advantages and features of the present invention will become more apparent to those skilled in the art from the following detailed description of specific embodiments of the invention in conjunction with the accompanying drawings. Attached Figure Description
[0030] The following sections will describe some specific embodiments of the invention in detail by way of example and not limitation, with reference to the accompanying drawings. The same reference numerals in the drawings denote the same or similar parts or portions. Those skilled in the art should understand that these drawings are not necessarily drawn to scale. In the drawings:
[0031] Figure 1 This is a flowchart of a communication method for RPMSG according to an embodiment of the present invention;
[0032] Figure 2 This is a flowchart of a communication method for RPMSG according to another embodiment of the present invention;
[0033] Figure 3 This is a flowchart of a communication method for RPMSG according to another embodiment of the present invention;
[0034] Figure 4 This is a schematic block diagram of a computer device according to an embodiment of the present invention. Detailed Implementation
[0035] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0036] Figure 1 This is a flowchart of a communication method for RPMSG (Remote Processor Messaging) according to an embodiment of the present invention. This communication method can be applied to an in-vehicle system, which may include at least two system-on-chips (SoCs), namely a first SoC and a second SoC. The first and second SoCs may each include multiple heterogeneous cores, for example, two, four, or more heterogeneous cores, and each heterogeneous core is configured as a specific core. Two specific cores are connected via a physical bus. The communication method may include steps S102 to S108.
[0037] Step S102: A target heterogeneous core of the first system-on-a-chip determines the target node information of the message according to the message publishing mode and publishes a specified RPMSG message; wherein the target node information may include the local target node information and the peer target node information of the target heterogeneous core, and the specified RPMSG message may carry the target node information.
[0038] In this step, the heterogeneous core that publishes the specified RPMSG message can be considered the target heterogeneous core, which can act as the publisher. The local target node information can be understood as the node information of the target heterogeneous core, and the remote target node information can be understood as the node information of the heterogeneous core that receives the specified RPMSG message.
[0039] Step S104: When the heterogeneous core of the first system-on-a-chip receives the specified RPMSG message, it traverses the corresponding node information and determines whether the peer target node information matches the local node information. The node information may include both local node information and peer node information.
[0040] In this step, the heterogeneous core receiving the specified RPMSG message can refer to a heterogeneous core other than the target heterogeneous core in the first system-on-a-chip. The local node information can refer to the node information of the aforementioned heterogeneous core, and the peer node information can refer to the node information of the heterogeneous core receiving the information from that heterogeneous core. The heterogeneous core receiving the specified RPMSG message can be considered a subscriber. When a heterogeneous core receives the specified RPMSG message, it can add the hash value of the specified RPMSG message to a cache queue. The hash value can be random, and it can be carried when publishing the specified RPMSG message. The heterogeneous core can cache hash values received within a preset time period; hash values exceeding the preset time period will be aged out.
[0041] If there is no match, proceed to step S106: determine whether the heterogeneous core that received the specified RPMSG message is a specific core.
[0042] In this step, only specific cores have the ability to forward information across system-level chips. Therefore, it is necessary to identify the type of heterogeneous core that receives the specified RPMSG message.
[0043] If so, proceed to step S108: forward the specified RPMSG message to the specific core of the second system-on-a-chip via the specific core of the first system-on-a-chip.
[0044] In this embodiment, a target heterogeneous core of the first system-on-a-chip (SoC) determines the target node information of the message according to the message publishing mode and publishes a specified RPMSG message. The target node information includes the local target node information and the peer target node information of the target heterogeneous core. The specified RPMSG message carries the target node information. When the heterogeneous core of the first SoC receives the specified RPMSG message, it traverses its corresponding node information and determines whether the peer target node information matches the local node information. The node information includes the local node information and the peer node information. If they do not match, it determines whether the heterogeneous core of the first SoC is a specific core. If so, the specified RPMSG message is forwarded to the specific core of the second SoC through the specific core of the first SoC. This invention can connect all heterogeneous cores on multiple SoCs into a whole, making RPMSG communication between specific cores across SoCs highly flexible.
[0045] In one embodiment of the present invention, a heterogeneous core can be configured as a specific core in the following ways:
[0046] This enables a specific core to learn the node information of other heterogeneous cores on its system-on-a-chip (SoC) as well as the node information of the specific core connected to it via a physical bus, thereby enabling the specific core to forward messages across SoCs.
[0047] In this embodiment, a specific core learns the node information of other heterogeneous cores on its system-on-a-chip (SoC) and the node information of the specific core connected to it via the physical bus. It can then build an RPMSG routing table based on the learned node information for subsequent matching and forwarding functions. The node information can generally be a unique identifier of the SoC where the corresponding heterogeneous core resides, thus enabling accurate matching. The specific core of this invention has learning capabilities, eliminating the need to parse messages to complete inter-core data transmission across multiple connection segments; that is, the RPMSG communication model between specific cores across SoCs offers high flexibility.
[0048] In one embodiment of the present invention, when the heterogeneous core receiving the specified RPMSG message is a specific core, publishing the specified RPMSG message may include:
[0049] The target heterogeneous core of the first system-on-a-chip sets the next node of the specified RPMSG message to the specific core of the first system-on-a-chip through the RPMSG message driver, and sends the specified RPMSG message to the specific core of the first system-on-a-chip.
[0050] Forwarding a specified RPMSG message to a specific core of the second system-on-a-chip via a specific core of the first system-on-a-chip may include:
[0051] The kernel forwarding driver for RPMSG messages on a specific core of the first system-on-a-chip sets the next node of a specified RPMSG message to a specific core of the second system-on-a-chip and forwards it to that specific core.
[0052] In this embodiment, the above-mentioned cross-chip forwarding of specified RPMSG messages through a specific core in the first system-on-a-chip and the second system-on-a-chip can easily connect the heterogeneous cores of the first system-on-a-chip and the second system-on-a-chip into a whole, which has high flexibility.
[0053] In one embodiment of the present invention, after forwarding to a specific core of the second system-on-a-chip, the following may also be included:
[0054] The kernel forwarding driver for RPMSG messages of a specific core of the second system-on-a-chip sets the next node of the specified RPMSG message to another heterogeneous core of the second system-on-a-chip and forwards it to that other heterogeneous core.
[0055] In this embodiment, the kernel forwarding driver for RPMSG messages of a specific core of the second system-on-a-chip sets the next node of the specified RPMSG message to other heterogeneous cores of the second system-on-a-chip and forwards it to other heterogeneous cores, which can realize the forwarding of the specified RPMSG message to each heterogeneous core of the second system-on-a-chip and the first system-on-a-chip.
[0056] In one embodiment of the present invention, when other heterogeneous cores receive a specified RPMSG message, they parse the specified RPMSG message to obtain the content included in the specified RPMSG message.
[0057] In one embodiment of the present invention, if the target node information of the peer end matches the node information of the local end, a virtual cache channel is created for each heterogeneous core application that is successfully matched, and a specified RPMSG message is copied to the virtual cache channel.
[0058] The RPMSG message wakes up the application on the corresponding heterogeneous core and reads the specified RPMSG message from the virtual cache channel.
[0059] In this embodiment, a virtual cache channel is created for each application on a successfully matched heterogeneous core. A specified RPMSG message is copied to the virtual cache channel. The RPMSG message drives the wake-up of the application on the corresponding heterogeneous core, which reads the specified RPMSG message from the virtual cache channel. This enables the ability to unicast and broadcast (send the specified RPMSG message to the heterogeneous cores of multiple SOCs) between multiple SOCs.
[0060] In one embodiment of the present invention, the virtual cache channel can be implemented based on the underlying FIFO (First In, First Out).
[0061] In this embodiment, the virtual buffer channel is implemented based on the underlying FIFO, which makes it easy to modify the RPMSG message pairing rules and supports the ability to unicast and broadcast between multiple SOCs.
[0062] In one embodiment of the present invention, determining the target node information of a message based on the message publishing mode may include:
[0063] If the message publishing mode is unicast, the local target node information of the target heterogeneous core of the first system-on-a-chip determines the target node information of the message as the unique identifier of the target heterogeneous core, and the remote target node information is the unique identifier of the heterogeneous core of the second system-on-a-chip.
[0064] If the message is published in broadcast mode, the target heterogeneous core of the first system-on-a-chip determines the target node information of the message by using a fixed identifier for the local target node and the target node information of the remote target node by using a unique identifier for the heterogeneous core of the second system-on-a-chip.
[0065] In this embodiment, if the message publishing mode is unicast, the target heterogeneous core of the first system-on-a-chip determines the local target node information of the target node information of the message as the unique identifier of the target heterogeneous core, and the remote target node information as the unique identifier of the heterogeneous core of the second system-on-a-chip. For example, the local target node information is src_id = 0x2323, and the remote target node information is dst_id = 1212. Specifically, the local target node information and the remote target node information can be combined into a node endPoint (src_id = 0x2323, dst_id = 1212). When publishing a message in unicast mode, src_id and dst_id need to match successfully. If the message publishing mode is broadcast, the target heterogeneous core of the first system-on-a-chip determines the local target node information of the message's target node information as a specified fixed identifier, for example, src_id = 0xFFFF. The remote target node information is the unique identifier of the heterogeneous core of the second system-on-a-chip, for example, dst_id = 1212. The local target node information and the remote target node information can be combined into a node endPoint(src_id = 0xFFFF, dst_id = 1212). When publishing a message in a broadcast mode, dst_id needs to match successfully.
[0066] Figure 2 This is a flowchart of a communication method for RPMSG according to another embodiment of the present invention. The communication method may include the following steps:
[0067] Step S202: A target heterogeneous core of the first system-on-a-chip determines the target node information of the message according to the message publishing mode and publishes a specified RPMSG message; wherein the target node information includes the local target node information and the peer target node information of the target heterogeneous core, and the specified RPMSG message carries the target node information.
[0068] Step S204: When the heterogeneous core of the first system-on-a-chip receives the specified RPMSG message, it traverses its corresponding node information, which includes local node information and peer node information. After receiving the specified RPMSG message, if the specified RPMSG message has been read, step S218 can be executed directly; otherwise, its corresponding node information can be traversed again.
[0069] Step S206: The heterogeneous core that receives the specified RPMSG message determines whether the target node information of the peer matches the local node information.
[0070] If there is no match, proceed to step S208; if there is a match, proceed to step S214.
[0071] Step S208: Determine whether the heterogeneous core that received the specified RPMSG message is a specific core.
[0072] If yes, proceed to step S210; otherwise, proceed to step S218.
[0073] Step S210: The specified RPMSG message is forwarded to the specific core of the second system-on-a-chip via a specific core of the first system-on-a-chip.
[0074] Step S212: The kernel forwarding driver for the RPMSG message of a specific core of the second system-on-a-chip sets the next node of the specified RPMSG message to another heterogeneous core of the second system-on-a-chip and forwards it to the other heterogeneous core.
[0075] Step S214: Create a virtual cache channel for each application of a successfully matched heterogeneous core, and copy the specified RPMSG message to the virtual cache channel;
[0076] Step S216: The RPMSG message drives the wake-up of the application on the corresponding heterogeneous core, and reads the specified RPMSG message from the virtual cache channel.
[0077] Step S218: Discard the specified RPMSG message.
[0078] Figure 3 This is a flowchart of an RPMSG communication method according to another embodiment of the present invention. This communication method is applicable to all AMP (Asymmetric Multiprocessing System) application scenarios, particularly in the field of smart cockpits. The first system-on-a-chip of the present invention may include a heterogeneous core and a specific core. The instrument cluster system can run on the heterogeneous core, and the central control system runs on the specific core. The second system-on-a-chip may include a heterogeneous core and a specific core. The ADAS system runs on the heterogeneous core, and the central control system runs on the specific core. The instrument cluster system needs to transmit vehicle signals to the ADAS system via RPMSG messages. The node information of the instrument cluster system can be endPoint (src_id = 0x2323, dst_id = 1212), and the node information of the ADAS system can be endPoint (src_id = 0x1212, dst_id = 2323), where src_id represents the local node and dst_id represents the peer node. The dst_id of the instrument cluster system matches the src_id of the ADAS system, and the src_id of the instrument cluster system matches the dst_id of the ADAS system. The specific steps are as follows:
[0079] Step S302: The instrument system and central control system of the first system-level chip are started and the RPMSG driver is initialized respectively. The ADAS system and central control system of the second system-level chip are started and the RPMSG driver is initialized respectively.
[0080] Step S304: The instrument system sets the next hop of the RPMSG message to the specific core where the central control system resides on the first system-level chip.
[0081] Step S306: The specific core where the central control system on the first system-on-a-chip is located sets the next hop of the RPMSG message to the specific core where the central control system on the second system-on-a-chip is located.
[0082] Step S308: The specific core on the second system-on-a-chip where the central control system is located sets the next hop of the RPMSG message to the core where the ADAS system is located.
[0083] Step S310: The core of the ADAS system receives the RPMSG message, parses the RPMSG message, and obtains the vehicle body signal.
[0084] In this embodiment, heterogeneous cores between different SOCs can be connected into a whole through a specific core, enabling message forwarding across SOCs, which has high flexibility.
[0085] Figure 4 This is a schematic block diagram of a computer device according to an embodiment of the present invention. Based on the same concept, the present invention also provides a computer device 400, which includes a memory 402 and a processor 401. The memory 402 stores a control program, which, when executed by the processor 401, is used to implement the communication method of RPMSG according to any of the above embodiments.
[0086] In this embodiment, the computer device 400 can be a vehicle-mounted cockpit or other types of computer devices.
[0087] Based on the same concept, the present invention also provides a machine-readable storage medium having a machine-executable program stored thereon, wherein the machine-executable program, when executed by a processor, is used to implement the communication method of RPMSG according to any one of the above.
[0088] The above embodiments can be combined arbitrarily. Based on any one preferred embodiment or a combination of multiple preferred embodiments, the embodiments of the present invention can achieve the following beneficial effects:
[0089] In the RPMSG communication method of the present invention, a target heterogeneous core of a first system-on-a-chip (SoC) determines the target node information of the message according to the message publishing mode and publishes a specified RPMSG message. The target node information includes the local target node information and the peer target node information of the target heterogeneous core. The specified RPMSG message carries the target node information. When the heterogeneous core of the first SoC receives the specified RPMSG message, it traverses its corresponding node information and determines whether the peer target node information matches the local node information. The node information includes the local node information and the peer node information. If they do not match, it determines whether the heterogeneous core that receives the specified RPMSG message is a specific core. If so, the specified RPMSG message is forwarded to the specific core of the second SoC through the specific core of the first SoC. The present invention can connect all heterogeneous cores on multiple SoCs into a whole, making RPMSG communication between specific cores across SoCs highly flexible.
[0090] Therefore, those skilled in the art should recognize that although numerous exemplary embodiments of the present invention have been shown and described in detail herein, many other variations or modifications conforming to the principles of the present invention can be directly determined or derived from the disclosure of the present invention without departing from the spirit and scope of the invention. Thus, the scope of the present invention should be understood and construed as covering all such other variations or modifications.
Claims
1. A communication method for an RPMSG, applied to an in-vehicle system, the in-vehicle system comprising at least two system-on-a-chips, namely a first system-on-a-chip and a second system-on-a-chip, the first system-on-a-chip and the second system-on-a-chip each comprising multiple heterogeneous cores, and each configuring one heterogeneous core as a specific core, the two specific cores being connected via a physical bus, the communication method comprising: One of the target heterogeneous cores of the first system-on-a-chip determines the target node information of the message according to the message publishing mode and publishes the specified RPMSG message; The target node information includes the local target node information and the peer target node information of the target heterogeneous core, and the specified RPMSG message carries the target node information; When the heterogeneous core of the first system-on-a-chip receives the specified RPMSG message, it traverses the corresponding node information and determines whether the peer target node information matches the local node information; wherein the node information includes local node information and peer node information. If they do not match, determine whether the heterogeneous core that received the specified RPMSG message is a specific core; If so, the specified RPMSG message is forwarded to the specific core of the second system-on-a-chip through a specific core of the first system-on-a-chip.
2. The communication method for RPMSG according to claim 1, wherein, The heterogeneous core is configured as a specific core in the following manner: The specific core learns the node information of other heterogeneous cores in its system-on-a-chip (SoC) as well as the node information of the specific core connected to it via a physical bus, so that the specific core has the function of forwarding messages across SoCs.
3. The communication method for RPMSG according to claim 1, wherein, When the heterogeneous core receiving the specified RPMSG message is a specific core, the publishing of the specified RPMSG message includes: The target heterogeneous core of the first system-on-a-chip sets the next node of the specified RPMSG message to the specific core of the first system-on-a-chip through RPMSG message driving, and sends the specified RPMSG message to the specific core of the first system-on-a-chip; The step of forwarding the specified RPMSG message to a specific core of the second system-on-a-chip via a specific core of the first system-on-a-chip includes: The kernel forwarding driver for RPMSG messages of the first system-on-a-chip sets the next node of the specified RPMSG message to the specific core of the second system-on-a-chip and forwards it to the specific core of the second system-on-a-chip.
4. The communication method for RPMSG according to claim 3, wherein, Following the forwarding to the specific core of the second system-on-a-chip, the following is also included: The kernel forwarding driver for a specific core of the second system-on-a-chip sets the next node of the specified RPMSG message to another heterogeneous core of the second system-on-a-chip and forwards it to that other heterogeneous core.
5. The communication method for RPMSG according to claim 4, wherein, When the other heterogeneous cores receive the specified RPMSG message, they parse the specified RPMSG message to obtain the content included in the specified RPMSG message.
6. The communication method for RPMSG according to claim 1, wherein, If the target node information of the peer end matches the node information of the local end, a virtual cache channel is created for each application of the heterogeneous core that is successfully matched, and the specified RPMSG message is copied to the virtual cache channel. The RPMSG message triggers the wake-up of the application on the corresponding heterogeneous core, which then reads the specified RPMSG message from the virtual cache channel.
7. The communication method for RPMSG according to claim 6, wherein, The virtual cache channel is implemented based on the underlying FIFO.
8. The communication method for RPMSG according to claim 1, wherein, The target heterogeneous core of the first system-on-a-chip determines the target node information of the message based on the message publishing mode, including: If the message publishing mode is unicast, the target heterogeneous core of the first system-on-a-chip determines the local target node information of the target node information of the message as the unique identifier of the target heterogeneous core, and the remote target node information as the unique identifier of the heterogeneous core of the second system-on-a-chip. If the message is published in broadcast mode, the target heterogeneous core of the first system-on-a-chip determines the local target node information of the message's target node information as a specified fixed identifier, and the remote target node information as the unique identifier of the heterogeneous core of the second system-on-a-chip.
9. A computer device, comprising: A memory and a processor, wherein the memory stores a control program, which, when executed by the processor, is used to implement the communication method of RPMSG according to any one of claims 1 to 8.
10. A machine-readable storage medium having a machine-executable program stored thereon, wherein When the machine-executable program is executed by a processor, it is used to implement the communication method of RPMSG according to any one of claims 1 to 8.
Citation Information
Patent Citations
Device and method for communication between heterogeneous multiprocessors of system on chip
CN112347015A
System architecture for heterogeneous multi-core inter-core communication and operation method of system architecture
CN114327930A