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.

AM3352: About TI-RTOS (SYS/BIOS) mailboxes

Part Number: AM3352

I have a question about TI-RTOS (SYS/BIOS) mailboxes.

When the processing load was high, there was a behavior that was suspected to be missed when exchanging messages when sending and receiving mailboxes.
It is not possible to determine simply whether the message sent is delayed due to the high processing load, or whether the transmission / reception is missed.
As for the operating environment, the task with priority 31 is running with a CPU occupancy rate of 50% or more, the priority of the task to send a message is 30, and the priority of the task to receive is changed from 18 to 30 with Task_setPri. It will be the environment. In this environment, I received only about half of the messages I sent.
Can TI-RTOS miss messages? Or is it just that the behavior is hampered by high priority tasks?

Best Regard.

  • Hello,

    You can check the return values of Mailbox_post() and Mailbox_pend() to determine if any message is not posted to or not copied from the mailbox. It is possible for messages to get lost. For example, Mailbox_post API is below: 

    Bool Mailbox_post(Mailbox_Handle handle, Ptr msg, UInt32 timeout);

    Mailbox_post checks to see if there are any free message slots before copying msg into the mailbox. If the mailbox remains full while the timeout expires, then the message won't be copied. The return value indicates whether the msg was copied or not.

    Please refer to SYS/BIOS API documentation for more details.

    Regards,

    Jianzhong