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

Hi,Ti engineers:

        最近在调试MessgeQ:core1创建msg并发给core0,core0接收数据并释放msg空间,在core0和core1上都是while操作,功能比较简单

        但是调试下来发现,如果core0或者core1上不添加printf()和Task_sleep()代码,core就会出现:

[C66xx_1] MessageQ_alloc failed,counter = 71
[C66xx_1] ti.sdo.ipc.heaps.HeapBufMP: line 619: E_noBlocksLeft: No more blocks left in buffer (handle = 0x803260, requested size = 32)
ti.sdo.ipc.MessageQ: line 383: assertion failure: A_invalidMsg: Invalid message
xdc.runtime.Error.raise: terminating execution

        如果添加了printf()和Task_sleep(),则连续拷机都很正常,

        请问messageQ的机制和printf与Task_sleep有关联或冲突么?还是在msg的收发过程中都必须要有延时?

        附件为调试代码。请Ti工程师帮助看看。谢谢。