Dear All,
I am facing a mailbox memory corruption issue using SYS BIOS. That bug appears when the board has been resetted and runs by its own, and not using the CCS "Debug session".
When I have more than one message pending in my mailbox, the pend function reads the last message ( not the first ), and then try to read the next one but data is corrupted.
I looked in the malbox's AllocBuf in CCS debug session:
There is reserved space for 10 messages : the size is 6 words, plus 4 words for next and prev pointers.
I implemented a function to be able to see this memory space, using a GUI, To retrieve the Alloc buf pointer, I used that code:
ti_sysbios_knl_Mailbox_Struct * mbx_struct;
mbx_struct = ti_sysbios_knl_Mailbox_struct( my_mailbox );
ptr = (UINT16 *) mbx_struct->__f5;
I checked that this code works in CCS debug mode, and returns the current content of the buffer.
After I reset the board, the function displays the buffer:
As you can see, most of the buffer is set with zeroes. I read it just after reset, nothing is posted inside the mailbox.
My question is: can you confirm that my mailbox alloc buffer is corrupted, and it is why I can only have only one message in it? Or I will read some random values?
Or is it normal, and the alloc buffer is initialized in a different way by SYS BIOS, between the CCS debug mode and after reset?
Thanks a lot,
Nolwenn