-
Hello, On the local (master) CPU side, the master C program loads the firmware on the remote CPU, resulting in the creation of the two rpmsg devices /sys/bus/rpmsg/devices/virtio0.rpmsg-channel.-1.0 and /sys/bus/rpmsg/devices/virtio0.rpmsg-channel.-1.1 on the Linux side. Then I can send custom payload via the 2 Endpoints (using the write function to the rpmsg character device) and get the echoed data back (using the read function), since the transmitted data from the master CPU trigger the Callback functions on the remote CPU side. The question is how I could send data from the remote CPU to the master CPU, independently of the callback function at the remote CPU. What I miss completely is how the master CPU will be notified that some data have been sent from the remote CPU and how it will read it. Thank you for your time and help. PS: the board I am using is the Zynq Ultrascale+. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Hello,
I suppose that you are facing RPMsg limitation. To sum-up the master(host) has to send a first message to the remote endpoint. Then you can send messages from the remote endpoint out of the callback.
Thank to the endpoint callback ( similar to the remote).
|
Beta Was this translation helpful? Give feedback.
Hello,
No problem to send a message out of the rpmsg endpoint callback. The only constraint linked to a current limitation of the rpmsg is that the Linux has to
I suppose that you are facing RPMsg limitation.
No synchronization point is defined by the RPMsg after which both sides can communicate reliably with each other. In the current protocol, at startup, the master sends notification to remote…