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.

MessageQ consume a lot of time...

Hello,

         I use MessageQ's shared memory transport, evmc6678, make core 0 as the master core, and the remaining 7 cores as the slave core. Here is my main program.

/*Master core*/

.....

......//Excution program,recored consumed time: t1=160ms .

//Wait for slave core to send msg.

for (i=0;i<7;i++)

{

      MessageQ_get(.......);

}

....//Record the consumed time:t2

/*Slave core*/

.....

.....//Excution program,about 200ms consumed.

MessageQ_put(....);

        Master core and slave cores are synchronized, that means theoretically t2=200ms (approximately). But in my program ,t2 >> 200ms, about 800ms, and  the msg master core get was correct. How could this happen, It is as if master core was unresponsive to the signle MessageQ_put() send out....Is it some conflict that multiple msg master core get?

       And , as far as I know, MessageQ_get could just use a pointer to receive the msg address. So, when master core allocated msg in MSMCSRAM, it send the msg address to slave core in the Initiation Task. Then could slave core send the msg to master core multiple times without master core send back? This is what I did to the above situation, did it influence the MessageQ performance?

 

Thank you very much!