Hi,
I would like to get guidance about what are in the 4 mailbox areas.
In the link.map file, I observed
........................................
000f3fd8 _MBX_ul_frame
000f3fe8 _MBX_ul_frame$data
000f4008 _MBX_ul_frame$free
000f4044 _MBX_dsp2ppc
...................................
000f4310 _MBX_ul_frame$queElems
000f4478 test$stack
......................................
So I can figure out that there are 4 areas for the mailbox (MBX_ul_frame):
MBX_ul_frame: length 0x10,
MBX_ul_frame$data: length 0x20,
MBX_ul_frame$free: length 0x3C,
MBX_ul_frame$queElems: length 0x168
Can anyone guide me what are in the 4 areas? In other words, if I have the data from the 4 areas, how can I parse them?
Actually, I am debugging a problem of mailbox. The received data (MBX_pend) is not the same with the data sent (MBX_post). My understanding for mailbox mechanism is that when running MBX_post(), the data will be copied from the sending local memory to a global area. And when running MBX_pend(), the data will be copied to the receiving local memory from the global area. It seems to me that something like overwriting happened between after MBX_post() and before MBX_pend(), so that the global area is overwritten before MBX_pend(). This results in the wrong received data.
If we know where the "global area" is, we may be able to find out who overwrites it by using the conditional breakpoint. I guess that the address of the "global area" is indicated in one of the 4 areas listed above. If anyone can guide me how to parse the data in the 4 areas, that would be very helpful.
Also has any expert experienced such problem before? Any idea what could be the cause of the problem?
Many thanks in advance.
Xuedong