This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can I use QMSS and sharedMemory in the same IPC project

Hi,

From the MCSDK IPC examples, the transport way is specified as below code, my question is can I use QMSS and sharedMemory together in the same project? And if yes how to do it?

MessageQ.SetupTransportProxy = TransportQmssSetup;

MessageQ.SetupTransportProxy = xdc.module('ti.sdo.ipc.transports.TransportShmNotifySetup');

Thanks & Regards,

Andy

  • Hi Andy,

    Moved this thread to correct forum for faster response.

    Thank you.
  • Andy,

    Please mention the board details.
    If you are using C6678 device, Please check the example code provided by TI.
    C:\ti\pdk_C6678_1_1_2_6\packages\ti\transport\ipc\qmss\transports
    IPC over QMSS Benchmark Example:
    C:\ti\pdk_C6678_1_1_2_6\packages\ti\transport\ipc\examples\qmssIpcBenchmark
    This example demonstrating how to use the IPC over QMSS transport as well as its performance.
    The qmssIpcBenchmark_c66xx will send messageQ messages between the cores via the QMSS transport.

  • Hi Pubesh,
    I knew the examples u said, but my question is how to use the shared memory and QMSS over IPC in one project.
    As an example, in one of my customer application they want to use the IPC over shared memory for core internal communication, and use the QMSS over shared memory for core-to-core communication, I cannot fine how to do from the example and user guide, could u pls help give one example?

    Thank u very much
    Andy
  • Still wait for your reply, thanks.
  • Andy,

    It helps us to answer your question if you provide the software release version and the hardware you are using.

    In your original post, it looks like you want to configure in two different transports to be used by the MessageQ module. This is currently not supported.

    However, if you want to use QMSS transport for message delivery between processors and shared memory for message delivery on the same processor, it might be possible. In fact, you might already have this behavior.

    Inside of MessagQ_put, it looks at the destination processor ID. If the destination processor is a different processor, then the message is passed on to the transport layer. However, if the destination processor is the local processor (i.e. sending a message to a queue on the same processor), then MessageQ_put will deliver the message directly without using the transport.

    Is this what you are asking for?

    Please note, support will be limited over the holidays.

    ~Ramsey

  • Andy,
    From the previous post, Ramsey explained about the usage of QMSS. Do you have any further discussion on this? If not, this discussion of thread can helpful for future readers, If you verified this thread.