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.

CC2340R5: Lots of stack usage turn yellow

Part Number: CC2340R5

Tool/software:

Hi all,

I am developing on oad-onchip example, create a new task and a queue.

static void *DataStream_Task(void *arg)
{
    for (;;)
    {
        DataStream_appEvt_t pAppEvt;

        if (mq_receive(DataStream_theardEntity.queueHandle, (char*)&pAppEvt, sizeof(pAppEvt), NULL) > 0)
        {
            
        }
    }
}

static bStatus_t DataStream_createQueue(void)
{
    struct mq_attr attr;

     attr.mq_flags = 0;
     attr.mq_curmsgs = 0;
     attr.mq_maxmsg = 8;
     attr.mq_msgsize = sizeof(DataStream_appEvt_t);

     /* Create the message queue */
     DataStream_theardEntity.queueHandle = mq_open("DataStream_theardQueue", O_CREAT , 0, &attr);

     if (DataStream_theardEntity.queueHandle == (mqd_t)-1)
     {
         return FAILURE;
     }
     return SUCCESS;
}

Status_t DataStream_enqueueMsg(uint8_t event, void *pData)
{
    int8_t status = SUCCESS;
    DataStream_appEvt_t msg;

    // Check if the queue is valid
    if (DataStream_theardEntity.queueHandle == (mqd_t)-1)
    {
        return FAILURE;
    }

    msg.event = event;
    msg.pData = pData;

    // Send the msg to the application queue
    status = mq_send(DataStream_theardEntity.queueHandle,(char*)&msg,sizeof(msg),1);

    return status;
}

int DataStream_createTask(void)
{
    int retVal = 0;
    pthread_attr_t param_attribute;
    struct sched_param param;

    retVal =  pthread_attr_init(&param_attribute);
    param.sched_priority = 1;

    retVal |= pthread_attr_setschedparam(&param_attribute, &param);
    retVal |= pthread_attr_setstack(&param_attribute, dataStreamTaskStack, 1024);
    retVal |= pthread_attr_setdetachstate(&param_attribute, PTHREAD_CREATE_DETACHED);

    retVal |= pthread_create(&DataStream_theardEntity.threadId,
                             &param_attribute,
                             &DataStream_Task,
                             NULL);
    return retVal;
}

During debug, it's stucked, then I found the stack usage window have lots yellow items. some items I never modified, why cause this, and how can I fix it and keep my codes.