I am trying to implement a simple routine on the M4 core that: receives a string and it’s length and send it as a message to the A7 core through the RPMsg.
Currently on the Linux (A7 core) when I try to receive the message with the command:
cat < /dev/RPMSG0
I get in the terminal:
virtio_rpmsg_bus virtio0: msg received with no recipient
whenever the M4 core send a message.
I have managed to init the channel and write a routine that receive messages already, and it works fine.
The code for the current routine is as follows:
static void rpmsg_str_write(char* message, int message_lenght)
{
static void *tx_buffer;
static unsigned long size;
if(message == NULL || message_lenght < 1){
return;
}
tx_buffer = rpmsg_alloc_tx_buffer(app_chnl, &size, RPMSG_TRUE);
assert(tx_buffer);
memcpy(tx_buffer, message, message_lenght);
rpmsg_sendto_nocopy(app_chnl, tx_buffer, message_lenght, app_chnl->src);
}