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.

Size of the message in the Queue in FreeRTOS example CC3200

Other Parts Discussed in Thread: CC3200SDK

I'm working with the FreeRTOS example of the CC3200SDK_1.1.0 and I have a question in the part of the creation of the Queue.

My problem is that in the osi.h file says:

/*******************************************************************************

This function creates a message queue that is typically used for inter thread
communication.

Parameters:

    pMsgQ        -    pointer to the message queue control block
    pMsgQName    -    pointer to the name of the message queue
    MsgSize        -    the size of the message.

            NOTICE: THE MESSGAE SIZE MUST BE SMALLER THAN 16

    MaxMsgs        -    maximum number of messages.

Please note that this function allocates the entire memory required
for the maximum number of messages (MsgSize * MaxMsgs).

********************************************************************************/
OsiReturnVal_e osi_MsgQCreate(OsiMsgQ_t*         pMsgQ ,
                              char*                pMsgQName,
                              unsigned long         MsgSize,
                              unsigned long         MaxMsgs);

I don´t understand why should be 16 and actually I use a value of 50 and works fine, and also for what is the maximum number of messages?

If somebody could explain it to me, it'll be great

Regards, Juan

  • I'm not familiar with the osi_MsgQCreate() API, or how it maps to the FreeRTOS queue API, but if it maps directly to the FreeRTOS xQueueCreate() function then FreeRTOS will just create each queue item at whichever size you requested - so the 16 byte limit does not come from FreeRTOS.  In which case, it must come from either the scenario from which the queue is used, or from limitations in other RTOSes for which a port is provided.

  • Hi,

    I'm using a size of 50 bytes with FreeRTOS and works fine, so like you say the limit doesn't como from FreeRTOS, maybe the limit comes from the TI-RTOS that is the other RTOS involve in that example. Maybe a TI engineer have an answer to that.

    Regards, Juan.