Inter-Processor Communication

Inter-processor uses the standard virtio-base RPMsg protocol to communicate. RPMsg, also known as Remote Processor Messaging, defines the standard binary interface used for communication between cores in heterogeneous AMP system.

  • Linux: In Linux kernel, the codes of RPMsg are under drivers/rpmsg/ directory, the following are the related codes:
    driver/rpmsg/virtio_rpmsg_bus.c
    drivers/rpmsg/virtio_rpmsg_starfive.c
  • RT-Thread: It uses open-source rpmsg-lite code, which is also the open-source virtio-base code of RPMsg. It can send and receive data with Linux according to the protocol. The combination of IPI interrupts between cores and shared memory can achieve data transmission between heterogeneous cores. The filepath of RT-Thread code is as follows:
    bsp/starfive/jh7110/driver/rpmsg_lite