Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

SYS BIOS: malbox allocated buffer different between CCS debug mode and after the board is resetted

$
0
0

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


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>