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.

TMS320C6678EVM - High performance communication between cores

In my multicore  project I need high performance communication between cores. Actually I use BIOS so I can use IPC. It works good but IPC is too slow for ma application. For data transfer in parallel computing I use MCSM RAM. I need simple but fast synchronization method with interrupts. Simple solution is Notify from IPC module but it's too slow. I need only send simple command "start calculation" from master to all slaves and "calculation complete" from slaves to master. I can do that for example with GPIO interrupts but I'm looking for better solution.


How can I solve this problem ?

  • Hi,

    For communication between multiple cores or processors, a MessageQ Transport (MQT) is needed.
    For this purpose, IPC provides a shared memory transport for core-to-core communication on multicore devices.
    This MQT uses underlying hardware features such as atomic access monitors or hardware semaphores to provide the most efficient implementation.
    To find more detailed information, refer this wiki will be useful,
    http://processors.wiki.ti.com/index.php/IPC_Users_Guide
    You can think about SRIO to communicate between cores for high performance. It provides the flexibility to Optimized inter-core/inter-element communication
    Refer the more detailed info in the Serial Rapid IO (SRIO) User Guide(KeyStone Architecture).

  • Thank you for your response. I have additional question. How can I send Notify from Master to all Slaves but simultaneously ? Actually I do it by this way:

    Notify_sendEvent(1, 0, 10, 0, TRUE);
    Notify_sendEvent(2, 0, 10, 0, TRUE);
    Notify_sendEvent(3, 0, 10, 0, TRUE);

    It means Notify is sending from Master (Core 0) to Core 1 and then to Core 2 and so on. Question is how can I do it in the same time - not sequential like in this case ?

  • Hi,

    Notify Module:
    Go through the usage and implemention of notify in the section "Notify Module" at the IPC user guide.

    Notify_multicore:
    This is a single image 'Notify' example that sets the MultiProc id during the BIOS boot sequence. The example demonstrates using Notify in a very basic way. Each processor generally blocks in a Task until a notification
    is received. This notifcation causes the registered callback function to execute. This, in turn, unblocks the Task that sends a notification to the next processor in the notification chain.


    The <ipc_install_dir>/packages/ti/sdo/ipc/examples/multicore/<platform_name> directory contains a platform-specific “notify” example.

  • Hi,

    However this discussion of thread can helpful for future readers, If you verified this thread.