We know that MSGQ is a variable-length messaging protocol,is there any size limit of the message in MSGQ?
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.
We know that MSGQ is a variable-length messaging protocol,is there any size limit of the message in MSGQ?
The message is contained within the struct that you define using the prescribed header:
typedef struct MyMsg {
MSGQ_MsgHeader header;
...
} MyMsg;
The C compiler may have limitations on the size of a struct. Please refer to the appropriate C Compiler User's Guide for your version of the compiler.
The MSGQ_getMsgSize function returns the size of the message as a 16-bit short, so this may represent an effective upper limit of 65535 bytes, or more likely 65532 bytes.
You can always pass a pointer to a large block if you wish.
Regards,
RandyP
If you need more help, please reply back. If this answers the question, please click Verify Answer , below.
HI,RandyP:
Now,I am facing to same questions,I want to extend the buf in msgq.
My program below:
#define dsp_arm_datasize 256
typedef struct ControlMsg
{
MSGQ_MsgHeader header;
Uint16 command;
Char8 arg1[ARG_SIZE];
// Uint32 arg2[128];
Uint16 arg2[dsp_arm_datasize];
} ControlMsg;
But when I extend the dsp_arm_datasize, the program can not go well.
How can I extend the buffer of dsp send to arm in this way?
Best regards!
Xiaohuan Lee,
Please post your question on a new thread in the BIOS Forum, found under Tools & Software. You may wish to post a link to the new thread here, for reference.
On your new thread, please include the device part number, the version of CCS and the version of BIOS that you are using.
Regards,
RandyP