Using a AM65xx idk eval card with the 7.3 version of the linux, tools and RTOS.
Testing IPC/rpmsg /ping-pong example. (rpmsg_client_sample)
That works as expected when running it unchanged.
Wanted to test several aspects of message throughput. using rpmsg between Linux and the R5 processor.
When reading the description of the function rpmsg_send() in rpmsg_core.c:
“In case there are no TX buffers available, the function will block until
one becomes available, or a timeout of 15 second elapses.
When the latter happens, -ERESTARTSYS is returned
Trying to put the rpmsg_send() in a in a forloop to check buffer size and if it is blocking.
But function always returns 0, even if it is not sending the message.
Tried to replace the function with rpmsg_trysend() instead.
But, when I put it in forloop, it does no signalling problems until about 300 calls.
But while I look at the R5 side, it looks like the buffer is about 20.
So then my question is: Why is it not blocking or signalling full until around 300 function calls,
when it should have blocked long before?
And how to fix it?
Can someone give me some help?
Espen