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_open and HeapBufMP_open hang intermittently on C6678 (less than 10%)

Hi,

I am running a multicore application on C6678 where I create a heap on Core0 using HeapBufMP_create. This heap is accessed on all other cores using HeapBufMP_open. These are called in task context and not in main() to make sure that the interrupts are enabled. 

I am also using MessageQs that are shared between cores using MessageQ_create and MessageQ_open.  

This works most of the times but intermittently either  HeapBufMP_open or  MessageQ_open hangs.  (does not return! )

As suggested in other posts, I have tried to unlock KICK registers right after Ipc_start() to make sure IPC interrupts are not lost or disabled. 

I am using following version of S/W:

XDCTools         3.24.5.48

IPC                    1.25.1.09

SYS/BIOS        6.34.4.22

Has anyone seen these intermittent issues or is that a known problem with this version of IPC?

Thanks,

S

  • Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).

    Please refer all the links below my signature. We will get back to you on your query shortly. Thank you for your patience.
  • Hi Smriti,

    I have a suggestion for you.

    Using the IPC package, already messageQ functionalities are demonstrated in the sample code of Image processing demo. This sample code is part of MCSDk package. ( version: mcsdk_2_01_02_06 located at "..\ti\mcsdk_2_01_02_06\demos\image_processing\ipc\evmc6678l\master \demos\image_processing\ipc\evmc6678l\master" and "..\ti\mcsdk_2_01_02_06\demos\image_processing\ipc\evmc6678l\slave" )

    It is a working example tested on C6678 EVMs. You can try using that for your requirement; so that you can ensure that the HeapBufMP_open or MessageQ_open functions works as expected.

    Or you can go through the code flow in the example code and check what is missing in the sequence of your code.

    Regards,

    Shankari

    Regards,

    Shankari

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------