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.

CC3220MODA: Device stuck

Part Number: CC3220MODA

Hi,

I am using CC3220MODA.

My application working perfect but some time device stuck random time like 5 mins,5 hours,2 hours.

What is problem?

I check in putting device in debug mode.device stuck at function vApplicationStackOverflowHook or faultISR. But this is happen some time. i can not understand where the stack overflow or some fault in code?

  • Hi Dinkar,

    A stack overflow typically means you are not allocating memory correctly, or your thread stacks are too small. If you are using TI-RTOS, you can try using the ROV to debug: dev.ti.com/.../

    Best regards,
    Sarah
  • Hi Sarah,

    I know that stack overflow means. But I am using FREERTOS so how to set Stack memory of task. Then how to check ROV?

    Dinkar

  • Hi Dinkar,

    TI does not have a built-in tool to determine a stack overflow in FreeRTOS. If you can narrow down where the overflow occurs, we can try to help. Do you have multiple threads running? Start with removing functionality until you can figure out what breaks.

    Best regards,
    Sarah
  • Hi sarah,

    Yes ,we have multiple threads running. Our code some time working for long time like 8-10 hours and some time 2 min. how can i find where my code stuck.

    Problem is not only stack overflow . Problem Also at fault isr?

    what about fault isr?

    Dinkar

  • Hi Dinkar,
    This kind of thing, if it happens, can get very time consuming to isolate without sufficient tool support. I have found TI-RTOS ROV to be extremely useful but you are on FreeRTOS. But if that's not a choice, then I suggest you get someone with experience to thoroughly review the code, especially the ISR and all threads, look at memory allocation (both heap and stack usage), look for potentially unsafe copy operations as in memcpy/strcpy etc, pointer arithmetic, out of bounds array indexing and such horrors. If nothing can be found then you may have to inert some instrumentation code etc, which will be another story.