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.

problem multicore mesaageQ on C6678

Hi to All

I try to modify the "message_multicore" example (this example in ipc 1.24.3.32) 

i want send message from core 0 to core 1-7

my code compile without error and core 0 send message to other cores but received data is incorrect ( msgId have incorrect value)

i have 2 question:

1. in this code writer Send the message to the next processor and wait for a message from the previous processor :

        System_printf("Start the main loop\n");
        while (msgId < NUMLOOPS) {     
            /* Increment...the remote side will check this */
            msgId++;
            MessageQ_setMsgId(msg, msgId);
            
            System_printf("Sending a message #%d to %s\n", msgId, nextQueueName);
            
            /* send the message to the remote processor */
            status = MessageQ_put(remoteQueueId, msg);
            if (status < 0) {
               System_abort("MessageQ_put had a failure/error\n");        
            }        
            
            /* Get a message */
            status = MessageQ_get(messageQ, &msg, MessageQ_FOREVER);
            if (status < 0) {
               System_abort("This should not happen since timeout is forever\n");
            }
        }

waiting for reply from receiver (messageQ_get) is essential and messageQ_put need acknowledgement)?

2. in this step i little edit in example code Is there the possibility of cache coherency problem?

i use:

C6678 EVM

CCS 5.3

IPC 1.24.3.32

thanks...