Iam using a mailbox, which is properly declared, initialized and used.
However i use static variable which is declared as an array to store information.(to optimize for time).
The message resides in static memory but just the pointer to the static memory is passed using the mailbox. (I can assure that it hasnt overflowed)
Iam not using alloc/ free box routines.
In one of the mailboxes, when i send a message it is zero(in a specific location), whereas when i receive the message it becomes one.
In my application it is highly possible that i generate ethernet packets every 1-10 ms, initially during application start up.
This problem occurs initially when the rate of timer interrupts is rapid and the interval gets longer with time. Then onwards, it is fine.
1) How can i avoid this?
2) Is it compulsary to use alloc box routines because i have already declared static memory?
3) Is it reentrancy problem? (It occurs even when i place breakpoint in the os_mbx_wait and run from os_mbx_send)
Thanks, Vivek