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.

IPC example



Hi,

I have a questions about ipc:

1. what's the difference between these 3 ipc examples: qmssIpcBenchmark, shmIpcBenchmark, srioIpcBenchmark, qmssIpcBenchmark ?

It seems their bench_xxxx.c are all the same processes.

Regards,

dp

  • Hi dp,

    The difference between them is the tranport layer used by the IPC (The IPC is the same) - 

    qmssIpcBenchmark - Navigator

    shmIpcBenchmark - Shared memory

    srioIpcBenchmark - SRIO

    Thanks,

    HR

  • HR,

    1. What's the main difference between using Navigator and Shared memory ? 

    2. How to config the transport layer ? modify bench_qmss.cfg ?

    Regards,

    dp 

     

     

  • Anyone know that? 

  • Hi dp,

    In the shared memory the MessageQ buffers are in the shared memory (L3 - 0x0C00 0000), where in the case of the Navigator the usage are with the QMSS & CPPI, the configuration in the case of the examples are in the bench_qmss.c (two new files added - cppi_device.c & qmss_device.c), bench_shm.c and bench_shm.cfg,

    BR,

    HR

  • Thansk HR,

    How to config the program to choose different transport layer ?  

    Regards,

    dp 

  • DP,

    For your questions, my suggestion is to look at some of our training videos to start to learn what these components are and a little of how to use them.

    In the Training section of TI.com, there is a training video set for the C66x SOC architecture. It may be helpful for you to review all of the modules. In particular, the CorePac & Memory Subsystem Module may help you understand some of the features of the memory and cache. You can find the complete video set here.

    Regards,
    RandyP

  • RandyP,

    I've read the material, but only that is not enough.

    And I want to know How to config the program to choose different transport layer.

    Regards,

    dp 

  • dp,

    What do you want to configure?

    HR

  • dp,

    Look carefully at the differences between these three applications.  The only changes required when switching between the transports will be in the initialization code (i.e. for Navigator, you must call init functions for the Navigator hardware.)  The other place is in the .cfg files.  You must include different packages in order to change the transport.  All of the IPC API's in the code should remain the same.

    Regards,

    Dan