I've been trying to rebuild the IPC message_single.k2e.xe66 file in Code Composer on a Windows machine. I have successfully been able to modify the messageq_single.c file located in C:\ti\ipc_3_35_01_07\packages\ti\ipc\tests\ and rebuild using the XDC make files. When I build this way I can copy the file onto the EVM and load it using mpmcl commands and run the MessageQBench app just fine
root@k2e-evm:~# mpmcl reset dsp0
root@k2e-evm:~# mpmcl load dsp0 /lib/firmware/messageq_single.k2e.xe66
root@k2e-evm:~# mpmcl run dsp0
[ 2718.370687] remoteproc0: powering up 2620844.dsp0
[ 2718.376898] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 2718.376936] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
[ 2718.377011] rpmsg_proto rpmsg0: inserting rpmsg src: 1024, dst: 61
[ 2718.395591] remoteproc0: registered virtio0 (type 7)
run succeeded
root@k2e-evm:~# /usr/bin/MessageQBench
Using numLoops: 1000; payloadSize: 8, procId : 1
Entered MessageQApp_execute
Local MessageQId: 0x88
Remote queueId [0x10080]
Exchanging 1000 messages with remote processor CORE0...
CORE0: Avg round trip time: 40 usecs
Leaving MessageQApp_execute
I wanted to try to rebuild in CCS6 and then see if I could port that code into my application to test. Based on looking at the XDC package files I created a new CCS RTSC project and used the following:
1. XDC 3.30.5.60
2. IPC 3.35.1.07
3. SYS/BIOS 6.41.0.26
Then I set the Target to ti.targets.elf.C66 and the Platform to ti.platforms.evmC66AK2E and then I import links to 3 files
1. messageeq_single.c
2. rpmsg_transport.cfg
3. message_common.cfg.xs
I can successfully build this project and get an OUT file and transfer to the EVM. When I try to reload and run using the OUT file the test starts to run and appears to hang the first time that MessageQBench tries to send a message. Based on the debug it certainly seems that MessageQBench successfully opens the DSP Queue but then it gets stuck
root@k2e-evm:/usr/bmarks# mpmcl reset dsp0
reset succeeded
root@k2e-evm:/usr/bmarks# mpmcl load dsp0 testIPC.out
load succeeded
root@k2e-evm:/usr/bmarks# mpmcl run dsp0
[ 5968.673212] remoteproc0: powering up 2620844.dsp0
[ 5968.679314] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 5968.679348] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
[ 5968.679418] rpmsg_proto rpmsg7: inserting rpmsg src: 1024, dst: 61
[ 5968.698006] remoteproc0: registered virtio0 (type 7)
run succeeded
root@k2e-evm:/usr/bmarks# /usr/bin/MessageQBench
Using numLoops: 1000; payloadSize: 8, procId : 1
Entered MessageQApp_execute
Local MessageQId: 0x88
Remote queueId [0x10080]
What is done differently between the MAKE build and the CCS6 build that would be impacting whether this works. Both builds are pointing to the exact same files.
Also will there ever be TransportQMSS support for MessageQ in the SYSBIOS build of IPC and when?
Thanks,
Brian