Hi experts,
I try to build and test IPC 3.x on EVMK2H board by following IPC_Install_Guide_Linux.pdf in ipc package folder. There are questions below
1.It works fine to build DSP code test code messageq_single.c in command line. But it fail to work while using CCS to build it? Why?
I create a new CCS project and add messageq_single.c, rpmsg_transport.cfg and messageq_common.cfg.xs into the new project and buil it. Then it creates messageq_single.out. I use mpmcl to load and run messageq_single.out. At last run "MessageQBench". IPC doesnt' work well. But it did works well if I build it by command line.
it show the below error messages in lad.txt
[66.143632] NameServer_setup: created send socket: 5
[66.143669] NameServer_setup: created recv socket: 6
[66.143774] NameServer_setup: created send socket: 7
[66.143793] NameServer_setup: connect failed: 22, Invalid argument
[66.143869] closing send socket: 7
[66.143890] NameServer_setup: created recv socket: 7
[66.143899] NameServer_setup: bind failed: 22, Invalid argument
[66.143908] closing recv socket: 7
See the attached file for detail.
http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/639/0207.evmk2h.7z
2. How to increase payload size in MessageQBench test? What's the max payload size supported in IPC 3.x MessageQ?
When I run the below command, it shows "rpmsg3: message is too big (520)", how to increase payload size support in MessageQBench test? What's the max payload size supported in IPC 3.x MessageQ?
root@k2hk-evm:~# MessageQBench 100 480 1
Using numLoops: 100; payloadSize: 480, procId : 1
Entered MessageQApp_execute
Local MessageQId: 0x1
Remote queueId [ 629.110188] rpmsg_proto rpmsg3: message is too big (520)
[0x10000]
[ 629.116887] rpmsg_sock_sendmsg: rpmsg_send failed: -90
transportPut: send failed: 90, Message too long
MessageQ_put handshake failed [-1]
Leaving MessageQApp_execute
3. How to improve the throughput performance in MessageQBench test( IPC 3.x MessageQ)?
If we have large data to communicate between ARM and DSP, The performance of IPC 3.x MessageQ is not good enough. Is it possible to use zero copy method ( just transfer pointer and length) to communicate between ARM and DSP? How?
As I know messagecom uses Multicore Navigator to do IPC, but it will be retired soon. Will MessageQ use Multicore Navigator in the future? When?
Note:
MCSDK: 3.1.1.4
IPC: 3_22_02_11
Tony