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.

stuck in vListInsert using the FreeRTOS

Other Parts Discussed in Thread: CC3200, CC3200SDK

Hi everyone

I used as base the FreeRTOS example of the sdk examples for the cc3200 to convert the TCP example into a RTOS example, I have the TCP as a task and the menu and UART as another Task, so when I want to send something from the task runing the UART to the TCP Task I use a Queue and there is where I have the problem, when I use the first Queue to send the info to the TCP task I get stuck in the function vListInsert. The TCP task is just receiving in what mode do you want the TCP connection (client or server) by a queue and in another queue I send first the IP, then the Port and finally the packet to send.

I've been reading some info and I saw that the principle problem is the configMAX_SYSCALL_INTERRUPT_PRIORITY but I haven't move that value I use the default value that come with the FreeRTOS example.

Above are my task declaration:

osi_TaskCreate( TaskTCP, "TCPTask",\
                                OSI_STACK_SIZE,NULL, 1, NULL );
    
    osi_TaskCreate( TaskCore, "CoreTask",\
                                OSI_STACK_SIZE,NULL, 2, NULL );

Here I declare my queue:

OsiReturnVal_e osi_retVal;
    osi_retVal = osi_MsgQCreate(&MsgTCP, "MESSAGETCP", MAX_MSG_LENGTH, 10);
    if(osi_retVal != OSI_OK)
    {
        // Queue was not created and must not be used.
        while(1);
    }
    
    osi_retVal = osi_MsgQCreate(&MsgMENU, "MENU", MAX_MSG_LENGTH, 10);
    if(osi_retVal != OSI_OK)
    {
        // Queue was not created and must not be used.
        while(1);
    }

MAX_MSG_LENGTH has a value of 50

And here I use the queue that is when the program get stuck in the function I mention

osi_MsgQWrite(&MsgMENU, acCmdStore, OSI_NO_WAIT);
osi_Sleep(100);


The size of acCmdStore is about 8 bytes so it fix perfect in the size of 50 bytes of the queue.

I read that the most comun problem is the interrupt priority but I don't know how to fix it.

I don´t know what I missing so if you can tell me something it would be great.

Regards,

Juan