I am having some issues with MessageQs to send messages back and forth Linux host and TI RTOS DSP on DRA7xx.
Until recently I was using sample code(with some of my changes) and it worked fine to send rpmsg packet to a messageQ back and forth.
But now I have to send continuous rpmsg packets to different MessageQs and I am seeing that after sending the first message, Message_get() on linux side is returning -20 error code, which I think is something like message destroyed or non existent.
Now I have the following questions:
1. I read in documentation about using heapBuf and registering it before MessageQ_alloc().
how can I do this on Linux side, if I am allocating messageq on host?
2. How do MessageQ memory allocated in sample code(TI IPC example code)? I do not see a MessageQ_registerHeap() call in most of the example files I looked at. Did I miss something here?
3. How did my code work, without me explicitly allocating any Heap memory for MessageQ_alloc? Is there some default option available?
Here are the packages I am using now on DRA7xx with DSP running on TI RTOS and Linux on ARM,
IPC - 3.36.01.11
SYSBIOS - 6.41.03.51
XDC - 3.30.06.67-core
CGT6x - 7.4.4
Thanks.