cancel
Showing results for 
Search instead for 
Did you mean: 

Hi , iam trying to send data from M4 to A7 using IPCC. But iam sending from M4 but unable to receive at A7. if we send data twice then iam able to get the data (like a FIFO) if you could please help me in resolving this

Maksh.1
Associate III
 
1 ACCEPTED SOLUTION

Accepted Solutions
2 REPLIES 2
ArnaudP
Senior

Hello @Maksh.1​ 

Do you use the /dev/ttyRPMSG0 for IPCC communication between A7 and M4?

If yes, my hypothesis is that you are facing to a limitation of the RPMsg protocol.

To verify this, could perform following test: send a first RPMsg from the Cortex-A7 to the Cortex-M4 before sending RPMsgs from M4?

Related Explanation:

An RPMsg communication is the transmission of a message to a remote processor terminal, referenced by an endpoint address.

Thus, in order to transmit a message, the cortex-M4 must know the destination address of the Cortex-A7 endpoint.

The RPMSG TTY communication channel is initiated by the cortex-M4, on endpoint creation, by sending a special RPMsg named "name service annoucement".

In this message, the A7 can find a "service name" and the address of the Cortex-M4 endpoint. This probe the rpmsg_tty driver and mount the /dev/ttyRPMSG0

At this point, the Cortex-A7 can send a message to the Cortex-M4. But the Cortex-M4 cannot ( still doesn't have the Cortex-A7 endpoint address).

Sending a first "****" message from the Cortex-A7 to the Cortex-M4 provides the Cortex-A7 endpoint address to the Cortex-M4.

Then the Cortex-M4 can send messages.

Hope this will help!

Regards,

Arnaud

Thanks Arnaud